PythonのMatplotlibで複数のグラフを一括表示する方法|初心者向けデータ分析入門
生徒
「Pythonでグラフを作れるって聞いたんですが、複数のグラフを一度に表示することはできますか?」
先生
「できますよ。PythonのMatplotlibというライブラリを使えば、複数のグラフをまとめて表示できます。」
生徒
「1つじゃなくて、2つや3つのグラフも同時に見れるんですか?」
先生
「はい。並べたり上下に配置したりできます。データ分析ではとてもよく使う方法なので、基本から一緒に見ていきましょう。」
1. Matplotlibとは?Pythonでグラフを描く基本
Matplotlibとは、Pythonでグラフを作るための代表的なライブラリです。データ分析や統計処理の結果を視覚的にわかりやすく表示するために使われます。
例えば、売上の変化や気温の変化などを、数字だけでなく線や棒で表すことで、直感的に理解できるようになります。
初心者の方は「グラフを描く道具」と覚えておけば問題ありません。
2. 複数グラフを表示する理由とは?
複数のグラフを一括表示する理由は、データの比較をしやすくするためです。
例えば、売上と来客数を別々に表示するよりも、同じ画面で並べて表示した方が関係性を理解しやすくなります。
これは、ノートに2つの図を並べて書くのと同じイメージです。並べて見ることで違いがすぐにわかります。
3. subplotで複数グラフを作る基本方法
subplotは、1つの画面の中に複数のグラフを配置するための機能です。
import matplotlib.pyplot as plt
# データ
x = [1, 2, 3]
y1 = [10, 20, 30]
y2 = [30, 20, 10]
# 1行2列の1番目
plt.subplot(1, 2, 1)
plt.plot(x, y1)
plt.title("Graph 1")
# 1行2列の2番目
plt.subplot(1, 2, 2)
plt.plot(x, y2)
plt.title("Graph 2")
plt.show()
このコードでは、1行に2つのグラフを横並びで表示しています。
4. 縦に並べて複数グラフを表示する方法
グラフは横だけでなく、縦にも並べることができます。
import matplotlib.pyplot as plt
x = [1, 2, 3]
y1 = [5, 10, 15]
y2 = [15, 10, 5]
plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title("Top Graph")
plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.title("Bottom Graph")
plt.show()
この場合は、上と下にグラフが表示されます。スマートフォンの画面のように縦に並ぶイメージです。
5. 複数の線を1つのグラフに表示する方法
複数のグラフを分けるだけでなく、1つのグラフの中に複数の線を描くこともできます。
import matplotlib.pyplot as plt
x = [1, 2, 3]
y1 = [10, 20, 30]
y2 = [15, 25, 35]
plt.plot(x, y1, label="Data 1")
plt.plot(x, y2, label="Data 2")
plt.legend()
plt.show()
この方法は、同じ種類のデータを比較するときにとても便利です。
6. グラフの見た目を整える方法
グラフは見た目も重要です。タイトルやラベルをつけることで、よりわかりやすくなります。
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [100, 200, 300]
plt.plot(x, y)
plt.title("Sales Data")
plt.xlabel("Month")
plt.ylabel("Sales")
plt.show()
タイトルはグラフの名前、xlabelは横軸、ylabelは縦軸の説明です。
7. よくあるエラーと対処方法
初心者がよくつまずくポイントとして、plt.show()を書き忘れることがあります。
これを書かないとグラフが表示されません。
また、subplotの番号を間違えるとエラーになることがあります。
例えば「1行2列なのに3番目を指定する」といったミスです。配置のルールを意識しましょう。
8. Matplotlibで複数グラフを扱うコツ
複数グラフを扱うときは、まず「どのように並べたいか」を考えることが大切です。
横に並べるのか、縦に並べるのか、または1つにまとめるのかを決めるだけで、コードの書き方が変わります。
データ分析では比較が重要なので、見やすさを意識して配置を決めるようにしましょう。
まとめ
Matplotlibで複数グラフを扱うポイント総復習
Pythonのデータ分析において、Matplotlibを使った複数グラフの表示は非常に重要なテクニックです。単一のグラフだけでは見えにくいデータの違いや関係性も、複数のグラフを並べることで直感的に理解できるようになります。
本記事では、subplotを使った横並びや縦並びのグラフ表示、さらに1つのグラフに複数の線を描画する方法まで、初心者でも理解しやすい形で解説しました。これらの手法は、Pythonによるデータ分析、統計処理、機械学習の前処理など、あらゆる場面で活用されます。
特にsubplotは、複数のグラフを一括表示するための基本機能であり、「何行何列に配置するか」を意識することが重要です。例えば1行2列にすれば横並び、2行1列にすれば縦並びになります。この考え方を理解することで、自由にレイアウトを設計できるようになります。
また、複数の線を1つのグラフにまとめる方法も、データ比較において非常に有効です。凡例を使うことで、それぞれのデータの違いを明確に示すことができ、より実践的なグラフ作成が可能になります。
さらに、タイトルや軸ラベルの設定も重要なポイントです。これらを適切に設定することで、グラフの意味が一目で伝わり、資料作成やレポート作成の質も向上します。Python初心者の方は、まずは見た目を整える習慣を身につけることが大切です。
エラー対処としては、plt.show()の書き忘れやsubplotの指定ミスがよくあります。これらは基本的なミスですが、初心者がつまずきやすいポイントでもあるため、コードを書く際には必ず確認するようにしましょう。
Matplotlibで複数グラフを扱うスキルは、データサイエンスやデータ分析の基礎力を高めるうえで欠かせません。Pythonでグラフ作成を行う際は、「比較しやすい配置」「見やすいデザイン」「正しい情報表示」を意識することが重要です。
サンプルプログラムで総復習
import matplotlib.pyplot as plt
# データ準備
x = [1, 2, 3, 4]
y1 = [10, 20, 30, 40]
y2 = [40, 30, 20, 10]
# 複数グラフの作成
plt.subplot(1, 2, 1)
plt.plot(x, y1)
plt.title("Sample Graph 1")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.subplot(1, 2, 2)
plt.plot(x, y2)
plt.title("Sample Graph 2")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
上記のようなシンプルなコードでも、複数のグラフを一括表示することができます。まずはこの基本形を理解し、自分のデータに応じてカスタマイズしていくことが大切です。
生徒
「Pythonで複数のグラフを表示する方法がよく分かりました。subplotを使えば自由に配置できるんですね。」
先生
「その通りです。subplotはMatplotlibの中でも基本かつ重要な機能です。行と列を意識すれば、思い通りのレイアウトが作れます。」
生徒
「横に並べたり縦に並べたりするだけで、データの見え方が変わるのが面白いです。」
先生
「データ分析では比較がとても重要です。同じ画面で複数のデータを見ることで、新しい発見につながります。」
生徒
「1つのグラフに複数の線を描く方法も便利ですね。凡例を使うと分かりやすいです。」
先生
「はい、それもよく使うテクニックです。売上比較や推移分析など、実務でも頻繁に使われます。」
生徒
「これからは見やすいグラフを意識して作ってみます。」
先生
「とても良い姿勢です。PythonとMatplotlibを使いこなせば、データ分析の力が大きく伸びます。ぜひ繰り返し練習してください。」