ロジカ式ロゴ

Python
データ分析

ページ一覧に戻る
Lesson 8 複数のグラフを出力する方法
渡辺先生

同じデータを複数の視点から見ます。

まず自分で予想してから、コードを動かしてみよう!

そうた

結果だけでなく、そう考えた理由も説明してみます。

ひな

QUESTION まず考えよう

月ごとの変化と、値の分布を1つの画面で同時に確認するにはどうすればよいでしょう?

同じデータを折れ線グラフとヒストグラムで見比べる方法

このグラフで分かること・読み方

  1. 複数のグラフを使うと、同じデータを異なる問いから調べられます。
  2. 折れ線グラフでは順序に沿った変化、ヒストグラムでは値の分布を読みます。
  3. ただ並べるのではなく、各グラフに答えてほしい問いを一つずつ決めましょう。

PREDICT 実行前の予想

1行2列に配置するとき、左と右にどのグラフが出るか予想してください。

TRY 実行して確かめよう

TRY
import matplotlib.pyplot as plt months = list(range(1, 13)) sales = [42, 45, 44, 50, 55, 61, 68, 66, 58, 54, 49, 60] fig, axes = plt.subplots(1, 2, figsize=(10, 4)) axes[0].plot(months, sales, marker='o') axes[0].set_title('月ごとの変化') axes[0].set_xlabel('月') axes[1].hist(sales, bins=5, edgecolor='black') axes[1].set_title('売上の分布') axes[1].set_xlabel('売上') plt.tight_layout() plt.show()
渡辺先生

グラフや数値のどこが予想と同じで、どこが違ったかを見つけましょう。

CHECK 結果を読み取ろう

左と右のグラフから、それぞれ何が分かりますか。

📖 考え方を確認する

左では月順の増減、右では売上値の集まり方が分かります。同じデータでも答えられる問いが異なります。

CHALLENGE 自分で直してみよう

2行1列の配置に変更し、両方に軸ラベルを追加してください。

CHALLENGE
import matplotlib.pyplot as plt months = list(range(1, 13)) sales = [42, 45, 44, 50, 55, 61, 68, 66, 58, 54, 49, 60] # 2行1列のsubplotsを作ろう

📖 解答例と解説

import matplotlib.pyplot as plt

months = list(range(1, 13))
sales = [42, 45, 44, 50, 55, 61, 68, 66, 58, 54, 49, 60]

fig, axes = plt.subplots(2, 1, figsize=(7, 7))
axes[0].plot(months, sales, marker='o')
axes[0].set_xlabel('月')
axes[0].set_ylabel('売上')
axes[1].hist(sales, bins=5, edgecolor='black')
axes[1].set_xlabel('売上')
axes[1].set_ylabel('月数')
plt.tight_layout()
plt.show()

`plt.subplots(2, 1)`は2行1列です。グラフごとに問いと軸ラベルを明確にします。

POINT
  •  subplotsで複数のグラフを配置できる
  •  同じデータを異なる視点で見る
  •  配置と軸をそろえて比較しやすくする

NEXT 次の学びへ

渡辺先生

ミニ分析では、自分で問いと2つのグラフを選びます。

振り返り:今回使った命令、結果から分かったこと、この方法を使える場面を、それぞれ1文で書きましょう。