我需要用Matplotlib制作不同数量的线图,但我还没有找到一个颜色图,可以很容易地区分线图。我使用了brg colormap是这样的:
colors=brg(np.linspace(0,1,num_plots))
与
for i in range(num_plots):
ax.step(x,y,c=colors[i])
如果有四个图,这可能看起来像这样:
请注意,区分顶部和底部图的颜色是多么困难,如果使用图例,这尤其糟糕。我试过很多不同的颜色贴图,比如rainbow和jet,但是在这个设置下,brg似乎在1到12之间给出了最好的结果。
我确实找到了这个How to get 10 different colors that are easily recognizable和这个wiki页面Help:Distinguishable colors,但我不知道这是否可以以任何方式使用。
有什么好解决的办法吗,还是我只能将就一下?
1条答案
按热度按时间ppcbkaq51#
我会使用
tab10
或tab20
色彩Map表。参见Colormap reference然而,我相信当线条的数量变得很大(我会说> 5,当然> 10)时,你总是会很难区分色调。在这种情况下,您应该将色调与其他区别特征(如不同的标记或线条样式)相结合。