Matplotlib中的颜色

使用matplotlib中会遇到选择颜色的问题,很多人会觉得自带的matlab风格的颜色不好看。好在Matplotlib已经预见到了这个问题,除了支持最基本的matlab传统颜色之外,还支持很多种颜色的表达方式:

  • RGB 或者 RGBA 浮点值元组,[0, 1]之间,例如(0.1, 0.2, 0.5)或者(0.1, 0.2, 0.5, 0.3)

  • RGB 或者 RGBA 十六进制字符串,例如#0F0F0F或者#0F0F0F0F

  • [0, 1]之间的浮点值的字符串表示,用于表示灰度,例如0.5

  • {'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}之一。

  • X11/CSS4 颜色名称。

  • XKCD 颜色之一,以'xkcd:'为前缀,例如'xkcd:sky blue'

  • {'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9'}之一。

  • {'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'}之一。这是 T10 调色板的 Tableau 颜色(默认的色相环)

这篇文章中,作者提到的颜色表示法比较简单,是上面提到的X11颜色描述法。在X11的wiki中也列出了所有颜色和对应的英文名称:

另外要注意的是matplotlib中的颜色都是大小写敏感的,wiki中提供的大写颜色名称并不一定能直接使用,而是要写成小写。

 

另一种直接使用现成颜色的方法是使用上面提到的xkcd颜色。在这个网站可以查到xkcd标签所对应的颜色。说起来xkcd颜色的来源也是比较神奇,xkcd做了一个调查,调查用户对于各种颜色的命名,最终得到了xkcd颜色名。因此xkcd颜色和X11颜色很多是不同的,相同的名字可能对应不同的颜色。matplotlib提供了一个对照表来对比这两种体系的命名不同:

 

posted @ 2018-02-02 22:13  刀中书  阅读(1891)  评论(0编辑  收藏  举报