【Matplotlib】色設定まとめ! (RGB, 16進数, グレースケール, Tableau, CSS)

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')
1文字
  • グレースケール : 0~1のfloat値。'0' =黒, '1' =白
  • 1文字ベースカラー : 基本的な色の1文字記法。8色。'b' =青
Tableau カラー
  • Tableau カラーパレット : T10 カテゴリパレット。'tab:blue'
  • “CN” カラー : ”C”+”Number”でカラーサイクルを呼び出し。カラー指定なしの場合に使用される。'C0'
CSS or xkcd カラー
  • X11/CSS4 カラー : X11/CSS4の色名で,スペースなし。'aqua'
  • xkcdカラーネーム : xkcd color surveyのカラーネーム。'xkcd:sky blue'

デフォルトの色とコード全体

色を設定せずにデフォルトカラーで描画します

次章からのコードは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'

‘0.7’と文字列として入力してください

# step3 グラフの描画
# グレースケール
ax.plot(x, y1, label='Black=0', color='0')
ax.plot(x, y2, label='Gray=0.6', color='0.6')

ベースカラー

基本的な色を1文字のみ表現する方法です

下記の8色が指定可能です

  1. 青:'b'
  2. 緑:'g'
  3. 赤:'r' 
  4. シアン:'c'
  5. マゼンタ:'m'
  6. 黄:'y' 
  7. 黒:'k'
  8. 白:'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を頭につけます

  1. 'tab:blue'
  2. 'tab:orange'
  3. 'tab:green'
  4. 'tab:red'
  5. 'tab:purple'
  6. 'tab:brown'
  7. 'tab:pink'
  8. 'tab:gray'
  9. 'tab:olive'
  10. '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'

デフォルトではTableau カラーパレットのTableau 10と同じ色構成です

# 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'

148のX11/CSS4カラー名のうち95がxkcdカラー調査にも含まれますが,色値が異なります。
「黒」,「白」,「シアン」だけが同じです。

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カラー

シェアしてくださると嬉しいです!
  • URLをコピーしました!

コメント

コメントする

目次