我有一个要绘制的列表。对于列表中的每个元素,我都有相应的颜色。我想用颜色绘制列表。没有散点图。
value=[12,15,20]
color_list=['red','red','blue']
plt.plot(value, color=color_list)
我希望有两个部分,第一个是红色,第二个是蓝色。
谢谢
答案 0 :(得分:1)
一种方法是使用for
循环分别绘制每个线段并索引要绘制的值。请注意,您有对应于每个点而不是线段的颜色,因此我在i+1
处进行了索引,为您提供了红色和蓝色的线段。
from matplotlib import pyplot as plt
value=[12,15,20]
color_list=['red','red','blue']
for i in range(0,(len(value)-1)):
plt.plot(value[i:i+2], color=color_list[i+1])
plt.show()
由于您未提供x值,因此该方法假定每行将从0变为1。如果不是这种情况,则需要指定x值是什么并以相同的方式对其进行索引。 / p>
from matplotlib import pyplot as plt
value=[12,15,20]
xs = [0,1,2]
color_list=['red','red','blue']
for i in range(0,(len(value)-1)):
plt.plot(xs[i:i+2],value[i:i+2], color=color_list[i+1])
plt.show()