我经常忘记我想要使用的颜色的名称并不断回到这个问题=)
前面的答案很好,但我发现从发布的图像中获取可用颜色的概述有点困难。我更喜欢将颜色与相似的颜色分组,所以我稍微调整了matplotlib 答案 http://matplotlib.org/examples/color/named_colors.html上面的评论中提到了获取按列排序的颜色列表。该顺序与我通过眼睛排序的方式并不相同,但我认为它提供了一个很好的概述。
我更新了图像和代码,以反映自从我最初发布此答案以来,已添加“rebeccapurple”,并且三种鼠尾草颜色已移至“xkcd:”前缀下。
我确实没有对 matplotlib 示例进行太多更改,但这里是完整性代码。
import matplotlib.pyplot as plt
from matplotlib import colors as mcolors
colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)
# Sort colors by hue, saturation, value and name.
by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name)
for name, color in colors.items())
sorted_names = [name for hsv, name in by_hsv]
n = len(sorted_names)
ncols = 4
nrows = n // ncols
fig, ax = plt.subplots(figsize=(12, 10))
# Get height and width
X, Y = fig.get_dpi() * fig.get_size_inches()
h = Y / (nrows + 1)
w = X / ncols
for i, name in enumerate(sorted_names):
row = i % nrows
col = i // nrows
y = Y - (row * h) - h
xi_line = w * (col + 0.05)
xf_line = w * (col + 0.25)
xi_text = w * (col + 0.3)
ax.text(xi_text, y, name, fontsize=(h * 0.8),
horizontalalignment='left',
verticalalignment='center')
ax.hlines(y + h * 0.1, xi_line, xf_line,
color=colors[name], linewidth=(h * 0.8))
ax.set_xlim(0, X)
ax.set_ylim(0, Y)
ax.set_axis_off()
fig.subplots_adjust(left=0, right=1,
top=1, bottom=0,
hspace=0, wspace=0)
plt.show()
附加命名颜色
更新于 2017 年 10 月 25 日。我将之前的更新合并到本节中。
xkcd
如果您想在使用 matplotlib 绘图时使用其他命名颜色,可以使用xkcd 众包颜色名称 http://xkcd.com/color/rgb/,通过 'xkcd:' 前缀:
plt.plot([1,2], lw=4, c='xkcd:baby poop green')
现在您可以使用大量命名颜色!
Tableau
默认 Tableau 颜色可通过“tab:”前缀在 matplotlib 中使用:
plt.plot([1,2], lw=4, c='tab:green')
有十种不同的颜色:
HTML
您还可以根据颜色绘制颜色HTML 十六进制代码 https://www.computerhope.com/tips/tip143.htm:
plt.plot([1,2], lw=4, c='#8f9805')
这更类似于指定 RGB 元组而不是命名颜色(除了十六进制代码作为字符串传递这一事实之外),并且我不会包含您可以选择的 1600 万种颜色的图像...
欲了解更多详情,请参阅matplotlib 颜色文档 https://matplotlib.org/users/colors.html以及指定可用颜色的源文件,_color_data.py https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/_color_data.py.