用不同颜色的情节的不同部分

时间:2019-10-25 20:17:35

标签: python matplotlib colors

我有一个要绘制的列表。对于列表中的每个元素,我都有相应的颜色。我想用颜色绘制列表。没有散​​点图。

value=[12,15,20] 
color_list=['red','red','blue']
plt.plot(value, color=color_list)

我希望有两个部分,第一个是红色,第二个是蓝色。
谢谢

1 个答案:

答案 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()

enter image description here

由于您未提供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()

enter image description here