Python
matplotlib
Visualization
データサイエンス
seaborn
More than 1 year has passed since last update.

Matplotlibでかっこいいプロットにしたい

seabornのプロットはかっこいい。毎回インポートするのめんどくさいなと思っていたのですが、seabornをインポートせずにseabornのスタイルを使うことができることに気づいた。(もしかすると当たり前?)
もちろん、あらかじめseabornをインストールしておく必要はある。
どんなプロットができるか、メモ。

どんなスタイルがあるか確認

matplotlib/mpl-data/stylelibというフォルダに入っているxxx.mplstyleがスタイルファイル。もちろん自分で作ることもできる。結局、どのスタイルも一長一短なので、自分で作って置いておくのが一番いいかもね。

中身の例:dark_background.mplstyle

 Set black background default line colors to white.

lines.color: white
patch.edgecolor: white

text.color: white

axes.facecolor: black
axes.edgecolor: white
axes.labelcolor: white
axes.prop_cycle: cycler('color', ['8dd3c7', 'feffb3', 'bfbbd9', 'fa8174', '81b1d2', 'fdb462', 'b3de69', 'bc82bd', 'ccebc4', 'ffed6f'])

xtick.color: white
ytick.color: white

grid.color: white

figure.facecolor: black
figure.edgecolor: black

savefig.facecolor: black
savefig.edgecolor: black

ベースにしたいスタイルを選んで、自分でちょこちょこいじるのが良さそう。

Examples

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
def testplot():
    x=np.arange(21)
    for i in range(2,9):
        y=i*0.3*np.sin(np.pi/10*x)
        plt.plot(x,y,'o-',label=str(i-1))

    plt.legend()
    plt.show()

####ここにしたの呪文を入れるplt.style.use()####
testplot()

デフォルト

何も呪文を唱えない時。
image

plt.style.use('default')

なぜかデフォルトと違い、困惑。そして、plt.style.use('classic')と同じ結果。

image

plt.style.use('bmh')

image

plt.style.use('dark_background')

image

plt.style.use('fivethirtyeight')

image

plt.style.use('ggplot')

image

plt.style.use('grayscale')

ここまでがおそらくもともとmatplotlibに入ってるスタイル。
image

plt.style.use('seaborn-bright')

image

plt.style.use('seaborn-colorblind')

image

plt.style.use('seaborn-dark')

image

plt.style.use('seaborn-dark-palette')

image

plt.style.use('seaborn-darkgrid')

image

plt.style.use('seaborn-deep')

image

plt.style.use('seaborn-muted')

image

plt.style.use('seaborn-pastel')

image

plt.style.use('seaborn-ticks')

tickが外向きになりました。
image

plt.style.use('seaborn-white')

そしてなくなりました。
image

plt.style.use('seaborn-whitegrid')

image

組み合わせて使うことも!

plt.style.use('seaborn-colorblind')
plt.style.use('seaborn-whitegrid')

image

サイズ変更系のスタイル

枠の線がなくなっていますね。こちらの方が好み。
そして、サイズに合わせて文字なども大きくなるので、解像度を上げたい時には便利そうです。
サイズを変更したい場合には、サイズ変更系のスタイルを最初に宣言するのが良さそうです。
seaborn-paper<seaborn-notebook<seaborn-talk<seaborn-poster
image
image
image
image

最後に

ほかのオススメスタイルもあれば是非教えてください!