matplotlib の色については次のチュートリアルやレファレンスがあります:
簡単な例で説明します。例えば
import matplotlib.pyplot as plt plt.plot([[1,2], [3,4]])
とすると,青とオレンジのグラフができます。もう一度 plt.plot([[1,2], [3,4]])
を打ち込むと,今度は緑と赤になります。これらの色は matplotlib のデフォルトのパレット tab10
から順にとっています。これは Tableau(タブロー)という有名な可視化ツールの Tableau 10 というカラーマップの旧版に基づいています:
#1f77b4 |
#ff7f0e |
#2ca02c |
#d62728 |
#9467bd |
#8c564b |
#e377c2 |
#7f7f7f |
#bcbd22 |
#17becf |
これらの値は次のようにして確認できます:
plt.rcParams['axes.prop_cycle']
cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', ...])
この中の色は color="C0"
から color="C9"
までで指定できます。
これらの色はどれも濃い色です。薄い色も使いたいなら,Choosing Colormaps in Matplotlib の tab10 のすぐ下にある tab20 というカラーマップを使います。
cmap = plt.get_cmap("tab20")
でこのカラーマップを取得し,濃い青は color=cmap(0)
,薄い青は color=cmap(1)
,濃いオレンジは color=cmap(2)
などと指定します。
もし色をいつも黒にしたいなら,
from cycler import cycler plt.rcParams['axes.prop_cycle'] = cycler(color=["black"])
あるいは現在のプロットの次の描画からの色を変えるなら,
plt.gca().set_prop_cycle(color=['black'])
とすればよさそうです。
Color Universal Design (CUD) に配慮した R の palette("Okabe-Ito")
と同じにするには次のようにします:
plt.rcParams['axes.prop_cycle'] = cycler( color=["black", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7", "#999999"])
なお、Okabe and Ito には最後の #999999
(gray60
)がありません。
色のスタイルを変えるには次のようにします(Customizing Matplotlib with style sheets and rcParams 参照):
plt.style.use('ggplot') # ggplot風 plt.style.use('seaborn-v0_8-colorblind') plt.style.use('tableau-colorblind10') plt.style.use('default') # 元に戻す
スタイルの一覧は plt.style.available
というリストに格納されています。個々のスタイルの実体は Matplotlib がインストールされたディレクトリ下の mpl-data/stylelib/*.mplstyle
というファイルに書き込まれています。
R の 統計グラフの色 もご覧ください。
リンク
"cividis"
の提案)