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

pu3pd22g  于 2021-07-09  发布在  Python
关注(0)|答案(1)|浏览(132)

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

  1. import matplotlib.pyplot as plt
  2. a = [20.5,30.2,35.4,40.2,25.2,41.5,24.3,24.1,40.2]
  3. b = list(range(len(a)))
  4. plt.plot(b,a,marker='x',color='blue')
  5. plt.show()

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

ecfsfe2w

ecfsfe2w1#

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

  1. import matplotlib.pyplot as plt
  2. plt.close("all")
  3. a = [20.5,30.2,35.4,40.2,25.2,41.5,24.3,24.1,40.2]
  4. b = list(range(len(a)))
  5. c = ["r" if value > 40 else "b" for value in a]
  6. plt.plot(b, a, color="k")
  7. plt.scatter(b, a, c=c, marker="x")
  8. plt.show()

字符串


的数据

展开查看全部

相关问题