Matplotlibを使ってグラフや図を作成する際に、色の設定方法について迷っているかもしれません。
この記事ではMatplotlibの色に関する設定方法を詳しく解説します。
読み終えた後、Matplotlibを使ってグラフの色を自在に設定し、視覚的な魅力や情報伝達力を高めることができます。
RGBの配列指定,16進数,1文字指定,グレースケール,Tableauカラー,CSSカラー等を扱います
色の設定方法一覧
色の設定方法は,RGB,1文字指定,Tableauカラー,CSSカラーがあります
- RGB or RGBA
-
- 0~1のfloat値の配列 : (赤, 緑, 青, 透明度)
(0.1, 0.2, 0.5, 0.3)
- 16進数 :
'#0f0f0f'
,#0f0f0f80'
- 重複する文字の 16 進数省略記法 :
#abc'
(#aabbcc'
)
- 0~1のfloat値の配列 : (赤, 緑, 青, 透明度)
- 1文字
-
- グレースケール : 0~1のfloat値。
'0'
=黒,'1'
=白 - 1文字ベースカラー : 基本的な色の1文字記法。8色。
'b'
=青
- グレースケール : 0~1のfloat値。
- Tableau カラー
-
- Tableau カラーパレット : T10 カテゴリパレット。
'tab:blue'
- “CN” カラー : ”C”+”Number”でカラーサイクルを呼び出し。カラー指定なしの場合に使用される。
'C0'
- Tableau カラーパレット : T10 カテゴリパレット。
- CSS or xkcd カラー
-
- X11/CSS4 カラー : X11/CSS4の色名で,スペースなし。
'aqua'
- xkcdカラーネーム : xkcd color surveyのカラーネーム。
'xkcd:sky blue'
- X11/CSS4 カラー : X11/CSS4の色名で,スペースなし。
デフォルトの色とコード全体
色を設定せずにデフォルトカラーで描画します
次章からのコードはstep3 グラフの描画のみを変更します
# step0 ライブラリの読み込み
import matplotlib.pyplot as plt
import numpy as np
# step1 データの作成
x = np.linspace(0, 10, 100)
y1 = 4 + 2 * np.sin(2 * x)
y2 = 4 + 2 * np.cos(2 * x)
# step2 グラフフレームの作成
fig, ax = plt.subplots(figsize=(6, 4))
# step3 グラフの描画
# ここでカラー指定をします
ax.plot(x, y1, label='Sample1'))
ax.plot(x, y2, label='Sample2')
# step4 タイトルと軸ラベルの設定
ax.set_title('Default color')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.legend()
# step5 Figureの呼び出し
plt.show()
RGB or RGBA
RGBもしくはRGBA(Aは透明度)での色指定は,3通りの方法があります
- 0~1のfloat値の配列 : (赤, 緑, 青, 透明度)
(0.1, 0.2, 0.5, 0.3)
- 16進数 :
'#0f0f0f'
,#0f0f0f80'
- 重複する文字の 16 進数省略記法 :
#abc'
(#aabbcc'
)
0~1のfloat値の配列
配列(タプル)で RGB=(赤, 緑, 青)もしくはRGBA= (赤, 緑, 青, 透明度)と入力します
配列の各要素の値は0~1のfloat値です
RGB : color=(0.2, 0.7, 0.7)
RGBA : color=(0.1, 0.2, 0.5, 0.3)
# step3 グラフの描画
# tuple
ax.plot(x, y1, label='color=(0.2, 0.7, 0.7)', color=(0.2, 0.7, 0.7))
ax.plot(x, y2, label='color=(0.1, 0.2, 0.5, 0.3)', color=(0.1, 0.2, 0.5, 0.3))
16進数
16進数で色を指定します。
RGBAの透明度は末尾に00~99を付け加えます
RGB : color=#008BCD4
RGBA : color=#4CAF5070
# step3 グラフの描画
# 16進数
ax.plot(x, y1, label='#00BCD4', color='#00BCD4')
ax.plot(x, y2, label='#4CAF5070', color='#4CAF5070')
16 進数省略記法
16進数省略記法で色を指定します。
RGB : #1BB
=11BBBB
RGBA : #D2C6
=#DD22CC66
# step3 グラフの描画
# 省略した16進数
ax.plot(x, y1, label='#1BB', color='#1BB')
ax.plot(x, y2, label='#D2C6', color='#D2C6')
1文字カラー
1文字だけでの色指定は,2通りの方法があります
- グレースケール : 0~1のfloat値。
'0'
=黒,'1'
=白 - 1文字ベースカラー : 基本的な色の1文字記法。8色。
'b'
=青
グレースケール
グレースケールは0~1のfloat値を入力します
0.5を入力すると灰色になります
黒:'0'
白:'1'
# step3 グラフの描画
# グレースケール
ax.plot(x, y1, label='Black=0', color='0')
ax.plot(x, y2, label='Gray=0.6', color='0.6')
ベースカラー
基本的な色を1文字のみ表現する方法です
下記の8色が指定可能です
- 青:
'b'
- 緑:
'g'
- 赤:
'r'
- シアン:
'c'
- マゼンタ:
'm'
- 黄:
'y'
- 黒:
'k'
- 白:
'w'
# step3 グラフの描画
# ベースカラー
ax.plot(x, y1, label='b', color='b')
ax.plot(x, y2, label='r', color='r')
Tableau カラー
Tableau カラーパレットのTableau 10を使うこともできます
- Tableau カラーパレット : T10 カテゴリパレット。
'tab:blue'
- “CN” カラー : ”C”+”Number”でカラーサイクルを呼び出し。
'C0'
Tableau カラーパレット
Tableau カラーパレットのTableau 10はtab
を頭につけます
'tab:blue'
'tab:orange'
'tab:green'
'tab:red'
'tab:purple'
'tab:brown'
'tab:pink'
'tab:gray'
'tab:olive'
'tab:cyan'
# step3 グラフの描画
# Tableau カラーパレット
ax.plot(x, y1, label='tab:blue', color='tab:blue')
ax.plot(x, y2, label='tab:orange', color='tab:orange')
“CN” カラー
”C”+”Number”でカラーサイクルを呼び出す手法があります
color='C0'
,color='C1'
と入力して指定します
'#1f77b4'
='tab:blue'
'#ff7f0e'
='tab:orange'
'#2ca02c'
='tab:green'
'#d62728'
='tab:red'
'#9467bd'
='tab:purple'
'#8c564b'
='tab:brown'
'#e377c2'
='tab:pink'
'#7f7f7f'
='tab:gray'
'#bcbd22'
='tab:olive'
'#17becf'
='tab:cyan'
# step3 グラフの描画
# CNカラー
ax.plot(x, y1, label='C0', color='C0')
ax.plot(x, y2, label='C1', color='C1')
カラーサイクルを変更する場合はrcParams["axes.prop_cycle"]
を更新します
import matplotlib as mpl
mpl.rcParams['axes.prop_cycle'] = cycler(color=['r', 'g', 'b', 'y'])
X11, CSS, xkcd カラー
文字列で色を指定します
- X11/CSS4 カラー : X11/CSS4の色名で,スペースなし。
'aqua'
- xkcdカラー : xkcd color surveyのカラーネーム。
'xkcd:sky blue'
X11/CSS4 カラー
X Window Systemにおいて色を表す文字列です
スペースなしで文字列を入力します,'aquamarine'
下記の140色の中から指定可能です
# step3 グラフの描画
# CSSカラー
ax.plot(x, y1, label='olive', color='olive')
ax.plot(x, y2, label='mediumseagreen', color='mediumseagreen')
xkcdカラー
数十万人の参加者が定義した954の最も一般的なRGBモニターの色です
'xkcd:sky blue'
とxkcd:を頭につけます
指定できる色はこちらです
# step3 グラフの描画
# xkcdカラー
ax.plot(x, y1, label='xkcd:pink', color='xkcd:pink')
ax.plot(x, y2, label='xkcd:teal', color='xkcd:teal')
参考文献
Matplotlibで指定可能な色のリスト
色の指定
CSS4カラー
コメント