如何避免 matplotlib.pyplot 中线条颜色重复?
我正在使用 matplotlib.pyplot 比较一些算法结果,但是很难理解发生了什么,因为几条线具有相同的确切颜色。有办法避免这种情况吗?我不认为 pyplot 只有七种颜色,是吗?
I am comparing some algorithmic results using matplotlib.pyplot, however it is very difficult to understand what is going on since several lines have the same exact color. Is there a way to avoid this? I don't think that pyplot has only seven colors, has it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于Python 3,从上面的解决方案中您可以使用:
或者:
For Python 3, from the solutions above you can use:
or:
如果您知道要绘制多少个图,最好的办法是在之前定义颜色图:
使用
nipy_spectral
使用
Set1
The best thing if you know how many plots you are going to plot is to define the colormap before:
Using
nipy_spectral
Using
Set1
我还建议使用 Seaborn。使用这个库,可以很容易地生成具有您需要的颜色数量的顺序或定性调色板。还有一个工具可以可视化调色板。例如:
这些是生成的调色板:
I would also suggest the use of Seaborn. With this library it is very easy to generate sequential or qualitative colour palettes with the number of colours you need. There is also a tool to visualize the palettes. For example:
These are the resulting palettes:
Matplotlib 有七种以上的颜色。您可以通过多种方式指定颜色(请参阅 http://matplotlib.sourceforge.net/api/colors_api .html)。
例如,您可以使用 html 十六进制字符串指定颜色:
Matplotlib has more than seven colors. You can specify your color in many ways (see http://matplotlib.sourceforge.net/api/colors_api.html).
For example, you can specify the color using an html hex string: