在matplotlib中创建从红色到蓝色的颜色条
接着我之前那些让人看不懂的帖子,我有一个列表:
[0,1,4,3,2,4,2,1,0]
我想让每个项目都有一个颜色,使用的是:
cmap = mpl.colors.ListedColormap([[1,0,0],[0,0,1],[0,1,0],[1,1,0],[0,1,1]])
这样可以得到红色、蓝色、绿色、黄色和浅蓝色。
我想要的效果是颜色从红色开始,到蓝色结束,中间的颜色是其他的。
我可能可以用类似的方法来实现,但我在想,是否有更好的办法,比如用某种公式?
1 个回答
0
你可以用一些小技巧来实现这个效果。比如说,你想把一条线的前面三分之一部分画成红色,中间三分之一部分画成蓝色,最后三分之一部分画成绿色。
你需要在你的数据中创建三条独立的线。你需要的三条线看起来像这样:
[0,1,4,None,None,None,None,None,None]
[None,None,None,3,2,4,None,None,None]
[None,None,None,None,None,None,2,1,0]
这些线用Nones填充,这样看起来就像matplotlib在画一条连续的线。然后你可以分别绘制每条线,并告诉matplotlib你想要的颜色。