matplotlibの色名一覧
この色名一覧はpythonで書かれていて、同じページにコードも載っています。
あとでゆっくりコードを読んでみようと思います。
# coding: utf-8 from __future__ import division import matplotlib.pyplot as plt from matplotlib import colors as mcolors colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS) # (HSV形式,色名)というタプルに直し、Hをキーにしてソートしたリストにする by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name) for name, color in colors.items()) # sortしたタプルのリストから、色名だけを抜き出したリストを作る sorted_names = [name for hsv, name in by_hsv] n = len(sorted_names) # 8色 + 148色 = 全156色 ncols = 4 # 列数を4にする。他の数でもよい nrows = n // ncols + 1 # 行数を計算 fig, ax = plt.subplots(figsize=(8, 5)) # 横8インチ、縦5インチ # Get height and width X, Y = fig.get_dpi() * fig.get_size_inches() h = Y / (nrows + 1) # 1マスの縦のドット数 w = X / ncols # 1マスの横のドット数 for i, name in enumerate(sorted_names): col = i % ncols # 0番 1番 2番 3番 row = i // ncols # 4番 5番 6番 7番 ...のように割り振る y = Y - (row * h) - h # 表示するy座標 xi_line = w * (col + 0.05) # 長方形の左端のx座標 xf_line = w * (col + 0.25) # 長方形の右端のx座標 xi_text = w * (col + 0.3) # 色名の文字列を表示するx座標 # 左よせで文字を表示 ax.text(xi_text, y, name, fontsize=(h * 0.8), horizontalalignment='left', verticalalignment='center') # hlines(横向きの直線)として色つきの長方形を表示 ax.hlines(y + h * 0.1, xi_line, xf_line, color=colors[name], linewidth=(h * 0.6)) 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()
わからないことが多すぎるので、いろいろ確認してみた。
・mcolors.BASE_COLORS :
8つの基本色。アルファベット1文字で表す。
色名:RGBの辞書型になっている。
print(mcolors.BASE_COLORS) # {'y': (0.75, 0.75, 0), 'm': (0.75, 0, 0.75), 'r': (1, 0, 0), # 'c': (0, 0.75, 0.75), 'k': (0, 0, 0), 'g': (0, 0.5, 0), # 'w': (1, 1, 1), 'b': (0, 0, 1)}
・mcolors.CSS4_COLORS
148色の(色名:16進コード)の辞書型
print(len(mcolors.CSS4_COLORS)) # 148 print(mcolors.CSS4_COLORS) # {'oldlace': '#FDF5E6', 'limegreen': '#32CD32', 'palevioletred': '#DB7093', # 'mintcream': '#F5FFFA', 'rosybrown': '#BC8F8F', 'blueviolet': '#8A2BE2', # 'lime': '#00FF00', 'orange': '#FFA500', 'mediumorchid': '#BA55D3', ...
参考:
color example code: named_colors.py — Matplotlib 2.0.1 documentation