我想創建一個帶有特定條件的彩色線。基本上我希望線條在y軸上指向紅色,當指向時爲綠色,兩者都不是藍色。python/matplotlib - 多色線
我玩過一些類似的例子,但我從來沒有能夠將它們轉換爲與座標軸上的plot()一起工作。只是想知道如何做到這一點。
下面是一些代碼,我拿出這麼遠:
#create x,y coordinates
x = numpy.random.choice(10,10)
y = numpy.random.choice(10,10)
#create an array of colors based on direction of line (0=r, 1=g, 2=b)
colors = []
#create an array that is one position away from original
#to determine direction of line
yCopy = list(y[1:])
for y1,y2 in zip(y,yCopy):
if y1 > y2:
colors.append(0)
elif y1 < y2:
colors.append(1)
else:
colors.append(2)
#add tenth spot to array as loop only does nine
colors.append(2)
#create a numpy array of colors
categories = numpy.array(colors)
#create a color map with the three colors
colormap = numpy.array([matplotlib.colors.colorConverter.to_rgb('r'),matplotlib.colors.colorConverter.to_rgb('g'),matplotlib.colors.colorConverter.to_rgb('b')])
#plot line
matplotlib.axes.plot(x,y,color=colormap[categories])
不知道怎麼弄地塊()接受的顏色數組。我總是得到關於用作顏色的格式類型的錯誤。嘗試過十進制,十進制,字符串和浮點數。使用scatter()完美工作。
感謝
笑。那將是我下一次的嘗試。謝謝回覆! – bandito40
其實它可以用LineCollection完成,但我不知道如何適應我的需求。 – bandito40