Pythonでグラフ表示をする時のフォントサイズ指定はfontsize=Xか{“fontsize”:X}か? その1: title, suptitle

スポンサーリンク

フォントサイズの指定の仕方

subplotsを使って複数のグラフを表示の仕方を解説した時、タイトルのフォントサイズを変えるのに「fontsize = X」という記述の仕方をしました。

Pythonで複数のグラフを一括表示 Matplotlib その5:subplotsでのタイトルの表示: suptitle、set_title
グラフ一括表示の際のタイトルの表示前回、subplots、subplotでのX軸、Y軸の表示範囲を指定する方法を解説しました。今回はsubplotsでグラフを一括表示した際にタイトルを表示する方法を解説していきます...

しかし前にグラフのタイトルの表示方法を解説した時には「{“fontsize”: X}」という記述の仕方をしました。

Pythonでグラフ表示 matplotlib 〜タイトル、軸名、凡例の表示〜
タイトルを表示する前回、matplotlibを使って、グラフを表示する方法を解説しました。グラフは表示できたのですが、何とも味気ないグラフになっていましたよね。やはりグラフを表示したら、タイトルやX軸、Y軸...

私自身、最初の頃には「{“fontsize”: X}」が正しいと思っていたのですが、最近では「fontsize = X」という記述の仕方をしていて、ちょっと混乱しています。

ということで今回はグラフ表示をする時の色々な文字のサイズを変えるのに「fontsize = X」、「{“fontsize”: X}」のどちらも全く同じように使えるのか、それとも使えたり、使えなかったりするのか試してみたいと思います。

試すのは、タイトルを表示するtitle、suptitle、軸名を表示するxlabel、ylabel、set_xlabel、set_ylabel、軸の数値の表示を変えるtick_paramsを試してみます。

また凡例(legend)のフォントサイズは「prop={“size”: 20}」と記述していたのでついでにこれも「fontsize=X」や「{“fontsize”: X}」と記述できるか試してみましょう。

スポンサーリンク

titleのフォントサイズ

まずはtitleのフォントサイズの記述を試してみます。

基本となるプログラムはこちらです。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.title("title")

plt.show()

実行結果

「{“fontsize”: X}」でフォントサイズを指定してみます。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.title("title", {"fontsize": 20})

plt.show()

実行結果

「title」のフォントサイズが大きくなりました。

次に「fontsize=X」で指定してみます。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.title("title", fontsize=20)

plt.show()

実行結果

こちらも「title」のサイズが大きくなりました。

つまりtitleに対しては「{“fontsize”: X}」でも「fontsize=X」でもどちらでも大丈夫です。

スポンサーリンク

suptitleのフォントサイズ

次に複数のグラフを一括表示した際に用いた「suptitle」でも試してみましょう。

ちなみにこの「suptitle」は複数のグラフを一括表示した場合だけでなく、一つのグラフだけの時でも使用することができます。

ということで先ほどのプログラムを用いて試してみます。

まずは「{“fontsize”: X}」から。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.suptitle("suptitle", {"fontsize": 20})

plt.show()

実行結果
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-ae8cb474caff> in <module>
      6 plt.plot(x_value, y_value)
      7 
----> 8 plt.suptitle("suptitle", {"fontsize": 20})
      9 
     10 plt.show()

TypeError: suptitle() takes 1 positional argument but 2 were given

前に試した時のようにエラーがでました。

Pythonで複数のグラフを一括表示 Matplotlib その5:subplotsでのタイトルの表示: suptitle、set_title
グラフ一括表示の際のタイトルの表示前回、subplots、subplotでのX軸、Y軸の表示範囲を指定する方法を解説しました。今回はsubplotsでグラフを一括表示した際にタイトルを表示する方法を解説していきます...

次に「fontsize=X」。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.suptitle("suptitle", fontsize=20)

plt.show()

実行結果

suptitleでは「{“fontsize”: X}」は使えず、「fontsize=X」のみが使えました。

スポンサーリンク

まとめ

今回はtitle、suptitleに対してフォントサイズの指定方法「{“fontsize”: X}」と「fontsize=X」を試してみました。

結果としてはtitleに対してはどちらも問題なく使えますが、suptitleには{“fontsize”: X}」は使えませんでしたが、「fontsize=X」は使えました。

ということで表にまとめてみるとこうなります。

fontsize=X{“fontsize”:X}
title
suptitle×

それぞれのコマンドの作り方が違うからこう言った違いがでるのでしょうが、なかなk初心者にとっては分かりづらい一面かもしれません。

次回はさらにxlabel、ylabel、set_xlabel、set_ylabelを試していきましょう。

ということで今回はこんな感じで。

コメント

タイトルとURLをコピーしました