python matplotlib曲线图改变线颜色对特定值的问题

pu3pd22g  于 7个月前  发布在  Python
关注(0)|答案(1)|浏览(72)

我想知道当坐标高于40.0时如何将plot(a,b)坐标更改为plot(a,b,color='red')

import matplotlib.pyplot as plt

a = [20.5,30.2,35.4,40.2,25.2,41.5,24.3,24.1,40.2]
b = list(range(len(a)))

plt.plot(b,a,marker='x',color='blue')
plt.show()

字符串
我不知道如何知道绘图时的位置值,我想尝试另一种方法,但我不知道如何接近它。

ecfsfe2w

ecfsfe2w1#

为了给标记上色,你可以创建一个颜色列表,并将其传递给c作为c参数。我使用列表解析创建了这个列表。你没有说如何处理线条,所以我只是在一个单独的绘图调用中将它们全部绘制为黑色。

import matplotlib.pyplot as plt

plt.close("all")

a = [20.5,30.2,35.4,40.2,25.2,41.5,24.3,24.1,40.2]
b = list(range(len(a)))
c = ["r" if value > 40 else "b" for value in a]

plt.plot(b, a, color="k")
plt.scatter(b, a, c=c, marker="x")
plt.show()

字符串


的数据

相关问题