Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
142 views
in Technique[技术] by (71.8m points)

python - Having line color vary with data index for line graph in matplotlib?

So I have a 2D array of data producing a plot of many timeseries on the same axes. At the moment, the colour of each line just cycles through and doesn't mean anything.

I want to somehow map the colour of each line to the index of its data - so a set of data with a low index appears red and then fades to blue at a high index.

To clarify, each individual line should be the same colour throughout, not fading with time. The difference should be between each line.

Thankyou!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Often you pass a colormap to a plotting function, but you can also pass a number or array to a colormap and get the colors in return.

So to color each line according to a variable, do something like this:

numlines = 20

for i in np.linspace(0,1, numlines):
    plt.plot(np.arange(numlines),np.tile([i],numlines), linewidth=4, color=plt.cm.RdYlBu(i))

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...