Python でグラフを描く Matplotlib #4

株式会社リュディアです。Python でグラフを描く方法についてまとめます。引き続き Matplotlib を使った方法についてです。

前回までの Python でグラフを描く Matplotlib のまとめへのリンクは以下を参考にしてください。

今回も複数のグラフを表示する方法についてですが複数のグラフを並べて配置する方法についてまとめます。軸のスケールが異なる複数のグラフを表示する場合に利用できます。まずは subplot とグラフの配置場所についてです。まず以下のコードと実行結果を見てください。

import matplotlib.pyplot as plt

x = [0, 1, 2, 3, 4, 5]
y1 = [0, 1, 2, 3, 4, 5]
y2 = [0, 2, 4, 6, 8, 10]

plt.figure()

plt.subplot(121)
plt.plot(x, y1) 

plt.subplot(122) 
plt.plot(x, y2)

plt.show()

画像1

最初の plt.figure() がグラフを描画するキャンパスを準備するイメージです。その後に subplot でキャンパスに描画するグラフのデータを指定します。左が y = x のグラフ、右が y = 2x のグラフです。問題は plt.subplot(121) や plt.subplot(122) と書かれている 121 や 122 ですね。この部分を変更して様子を見てみましょう。2つのグラフともに plt.subplot(121) にしてみると以下のようになりました。指定方法が何を意味しているのか想像しながら前に進めてください。

plt.subplot(121)
plt.plot(x, y1) 

plt.subplot(121) 
plt.plot(x, y2)

画像2

次はそれぞれのグラフで plt.subplot(131) と plt.subplot(133) を指定すると以下のようになりました。何か気づくことはありましたか?

plt.subplot(131)
plt.plot(x, y1) 

plt.subplot(133) 
plt.plot(x, y2)

画像3

もう 1 つ次のコードと実行結果も見てください。ここまでくると傾向をつかめた方もいるのではないでしょうか?

plt.subplot(231)
plt.plot(x, y1) 

plt.subplot(236) 
plt.plot(x, y2)

画像4

どうでしょうか?数字の並びとグラフ表示規則について推測できましたか?まだよくわからない人は再度記事の先頭から見てみてください。自分で感覚的に掴むのが重要だと思いますので説明は次回にまとめます。

Python でグラフを描く Matplotlib に関するまとめの続きは以下からどうぞ。

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?