Pythonと色(途中)

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

これらの値は次のようにして確認できます:

In [ ]: plt.rcParams['axes.prop_cycle']
Out[ ]: 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'])

とすればよさそうです。

(まだ続きます)

リンク


Last modified: