在matplotlib中创建从红色到蓝色的颜色条

0 投票
1 回答
1582 浏览
提问于 2025-04-17 16:29

接着我之前那些让人看不懂的帖子,我有一个列表:

[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你想要的颜色。

撰写回答