2018/06/30

pythonプログラミング入門(2)グラフでサブプロットを描画


いくつかのグラフを1つにまとめるにはsubplotを使用します。subplotをどのように使用したらいいのか分かりにくかったのでまとめました。

subplotのカッコ内の数字によりグラフのまとめ方が決まります。subplotの後のカッコ内に数字が3つ並びますが、最初が縦のグラフの個数、2番目が横のグラフの個数、最後がどのグラフを指しているかになります。



実際のコード例を示します。 subplotでグラフを指定した後に、データの設定やy軸名などのラベルの指定をします。

subplotのコード例
import matplotlib.pyplot as plt plt.figure(1) plt.subplot(321) plt.plot([1,2,3,4]) plt.ylabel('321') plt.subplot(322) plt.plot([1,2,3,4], [1,4,9,16], 'ro') plt.ylabel('322') plt.subplot(323) plt.plot([1,2,3,4], [1,4,9,16], 'bo') plt.ylabel('323') plt.subplot(324) plt.plot([1,2,3,4], [1,4,9,16], 'yo') plt.ylabel('324') plt.subplot(325) plt.plot([1,2,3,4], [1,4,9,16], 'go') plt.ylabel('325') plt.subplot(326) plt.plot([1,2,3,4], [1,4,9,16], 'rx') plt.ylabel('326') #Matplotlib v1.1 introduces a newcommand tight_layout() that does this automatically for you. #グラフが重なった時にレイアウトを自動的に調整してくれる。(後述) plt.tight_layout() plt.show()

subplotを使用した表示例



グラフの自動レイアウトについて(tight_layout())

plt.tight_layout()はグラフのレイアウトを自動で調整するコマンドです。 コマンドを指定しないとy軸名がグラフと重なってしまいます。

plt.tight_layout()がない場合

(関連コンテンツ)