目的
Python, matplotlibで作成するグラフの大きさや、軸の文字の大きさを調整することを目的とします。
また、各種サイズ変更に伴って発生するグラフが見切れる現象を解消する方法の解説も行います。
グラフのサイズおよび文字サイズを調整する
論文や予稿用のグラフの場合、画像自体が小さく見づらいため軸の文字などを大きくする場合があります。また、多数グラフを用いる際にグラフのサイズを揃えておきたい場合もあると思います。この項ではグラフサイズ、軸ラベル、軸の数字をそれぞれ調整する方法を解説していきます。
以下のサンプルコードは、グラフサイズを(5,4)、軸の数字のサイズを10、x軸ラベルサイズを13、y軸ラベルサイズを18としたものです。
import matplotlib.pyplot as plt
x = [0,1,2,3,4,5,6,7,8,9,10]
y = [0,1,2,3,4,5,6,7,8,9,10]
plt.rcParams["figure.figsize"] = (5,4)
plt.tick_params(labelsize=10)
plt.plot(x,y)
plt.xlabel("xlabel",fontsize=13)
plt.ylabel("ylabel",fontsize=18)
plt.savefig("img.png")
plt.show()
これを実行し、グラフを保存したものが以下の画像になります。分かりやすいようにラベルサイズをxとyで変えているため違和感のすごいグラフになっているのはご容赦ください。

コードの解説を行うと、plt.rcParams[“figure.figsize”] = (5,4)がグラフサイズの調整部分になっています。次にplt.tick_params(labelsize=10)が軸に書かれている数字のサイズ調整部分です。最後にplt.xlabel(“xlabel”,fontsize=13)とplt.ylabel(“ylabel”,fontsize=18)がそれぞれx軸とy軸のラベルサイズの調整部分になっています。
グラフサイズや文字サイズの調整を行いたい場合はそれぞれの=後の数字を変更してあげてください。
グラフが見切れないようにする
上記のものを用いて文字サイズを大きくし、その状態でグラフの保存を行うと、グラフが見切れてしまうことがあります。この項ではこのグラフが見切れる現象を解消していきます。
例として、以下のコードのようにグラフサイズを(5,4)、文字サイズを18に設定したものでグラフを作成、保存してみます。すると、この形式の場合は軸ラベルが見切れてしまっています。
import matplotlib.pyplot as plt
x = [0,1,2,3,4,5,6,7,8,9,10]
y = [0,1,2,3,4,5,6,7,8,9,10]
plt.rcParams["figure.figsize"] = (5,4)
plt.tick_params(labelsize=18)
plt.plot(x,y)
plt.xlabel("xlabel",fontsize=18)
plt.ylabel("ylabel",fontsize=18)
plt.savefig("img.png")
plt.show()

この現象はtight_layout()を用いることで解消ができます。tight_layout()はsubplots間およびsubplots周辺のパディングを調整するもので、引数が空の状態で用いることで指定したサイズに収まるようにグラフを自動調整してくれます。
以下がサンプルコードとその結果です。
import matplotlib.pyplot as plt
x = [0,1,2,3,4,5,6,7,8,9,10]
y = [0,1,2,3,4,5,6,7,8,9,10]
plt.rcParams["figure.figsize"] = (5,4)
plt.tick_params(labelsize=18)
plt.plot(x,y)
plt.xlabel("xlabel",fontsize=18)
plt.ylabel("ylabel",fontsize=18)
plt.tight_layout()
plt.savefig("img.png")
plt.show()

コメント