pythonでFigを作る際によく使うコード
※随時更新
すごいサイト。イメージに合う可視化方法を探してコードを知りたいときにとても便利。
matplotlibにおけるfig
, ax
の概念について勉強になる記事。
https://python-academia.com/matplotlib-plt-ax/
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
基本構文
fig = plt.figure(figsize=(6,4)) #figsizeを指定せずplt.figure()でもOK
ax = fig.add_subplot(1,1,1)
##ここにFigを描画するコードを書く。
plt.show()
複数並べる際は、
fig = plt.figure(figsize=(6,8)) #figsizeを指定せずplt.figure()でもOK
ax1 = fig.add_subplot(2,1,1) #縦2個、横1個の1個目
##ここにFigを描画するコードを書く。
ax2 = fig.add_subplot(2,1,2) #縦2個、横1個の2個目
##ここにFigを描画するコードを書く。
plt.show()
こっちでもいける、
fig, axes= plt.subplots(2,2) # axesはAxesオブジェクトの2x2の配列
axes[0][0].plot(#####)
axes[1][0].plot(#####) #Axesオブジェクトは行・列で呼び出せる
plt.show()
軸関係
軸ラベルの表示
ax.set_xlabel("x軸ラベル名")
ax.set_ylabel("y軸ラベル名")
軸の値を消す
ax.xaxis.set_ticklabels([])
ax.yaxis.set_ticklabels([])
軸の最大値・最小値の設定
ax.set_xlim(最小値, 最大値)
ax.set_ylim(最小値, 最大値)
目盛の表示値を変更
ax.set_xticks(###)
ax.set_yticks(###)
### [0, 500, 1000]
### np.arange(0, 1001, 500)
### [] 非表示
#文字列で表示したい場合は2行で書く
ax.set_xticks([0, 500, 1000])
ax.set_xticklabels(["zero", "five hundred", "thousand"])
対数目盛に変更
ax.set_xscale('log')
ax.set_yscale('log')
軸の線を消す
ax.spines['right'].set_visible(False) #右
ax.spines['top'].set_visible(False) #上
ax.spines['left'].set_visible(False) #左
ax.spines['bottom'].set_visible(False) #下
軸の目盛り線を消す
ax1.tick_params(bottom=False, left=False, right=False, top=False)
全部消す
ax.axis("off")
文字サイズの設定
ax.tick_params(labelsize=12)
legend関係
legendを非表示にする
plt.legend([], [], frameon=False)
ax.legend().get_legend().remove()
legendを表示する
plt.legend()
ax.legend()
タイトル関係
タイトルをつける
plt.title('Title')
ax.set_title('Title', fontsize=30)
タイトルの位置を変更する
ax.set_title('Title_left', loc='left')
ax.set_title('Title_center', loc='center')
ax.set_title('Title_right', loc='right')
全体のタイトルをつける
fig.suptitle("全体のタイトル")
複数のfig, axをいい感じに配置する
fig.tight_layout()