色の指定方法 & 指定可能な色【matplotlib】

matplotlib

色を使いこなして、見やすいグラフを作りましょう!!

色を指定する

color name から指定する

基本的にはプロットする際の関数にはcolor引数が用意されているので、その引数に色を渡すことで、色を指定することができます。

ただ、関数によって引数がcolorだったり、cだったりするので、maplotlibのドキュメントを見て、その関数で色を指定できるかを確認しておくのが良いですね

import matplotlib.pyplot as plt

colors = ['blue', 'red', 'green', 'purple']

for y, color in enumerate(colors):
    plt.hlines(y, -3, 3, color=color)
plt.show()

RGBから色を指定する

RGBはcolor引数にRGBの値が入ったタプルかリストを渡すことで指定できます。
RGBの値は0.0~1.0です

import matplotlib.pyplot as plt

colors = [(0,0,0), (1,0,0), (0,1,0), (0,0,1)]

for y, color in enumerate(colors):
    plt.hlines(y, -3, 3, color=color)
plt.show()

HEX color code (16進数)から指定する

もちろん Hex code からも色を指定することができ、
Hex codeの文字列をcolor引数に渡してやることで、色を指定することができます。

import matplotlib.pyplot as plt

colors = [ '#000000',  '#008080', '#687bbe', '#dc143c']

for y, color in enumerate(colors):
    plt.hlines(y, -3, 3, color=color)
plt.show()

透明度(アルファチャネル)を指定する

alpha引数から指定する

alpha引数に0.0~1.0の値を渡すことで透明度を指定することができます。

import matplotlib.pyplot as plt

colors = ['blue', 'red', 'green', 'purple']

for y, color in enumerate(colors):
    plt.hlines(y, -3, 3, color=color, alpha=0.3)
plt.show()

RGBAで指定する

RGBでなく、RGBAを指定することもできるんですね

import matplotlib.pyplot as plt

colors = [(0,0,0, 0.5), (1,0,0, 0.5), (0,1,0, 0.5), (0,0,1, 0.5)]

for y, color in enumerate(colors):
    plt.hlines(y, -3, 3, color=color)
plt.show()

指定可能な色

color nameで指定

redblueのように色を名前で指定することができます。
この方法が他の人から見た時でもわかりやすいので、できればこの方法が良いですね!

色指定にはBase Colors ,Tableau Palette ,CSS Colors のグループを使うことができ、以下のような色が使えます。

(matplotlib ドキュメントから引用 https://matplotlib.org/stable/gallery/color/named_colors.html)

color name の一覧を取得する方法

また、forなどで色を使いたい場合は上記の色の一覧を取得するのがおすすめです
やり方はmatplotlib.colorsをimportして、各色グループにアクセスするだけでできます

import matplotlib.colors as mcolors

base_colors = mcolors.BASE_COLORS
tab_colors = mcolors.TABLEAU_COLORS
css_colors = mcolors.CSS4_COLORS

コメント

タイトルとURLをコピーしました