はじめに
この実験では、Python の Matplotlib を使ってグループ化された棒グラフを作成し、棒にラベルを付けて注釈を付ける方法を学びます。パーマーペンギンデータセットのデータを使って、種によるペンギンの属性を表示するチャートを作成します。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習します。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
データを扱い、チャートを作成するために必要なライブラリをインポートして始めましょう。
import matplotlib.pyplot as plt
import numpy as np
データを準備する
次に、チャート用のデータを準備します。ペンギンの種類が 3 つで、属性も 3 つあるので、種ごとの各属性の平均値を持つ辞書を作成します。
species = ("Adelie", "Chinstrap", "Gentoo")
penguin_means = {
'Bill Depth': (18.35, 18.43, 14.98),
'Bill Length': (38.79, 48.83, 47.50),
'Flipper Length': (189.95, 195.82, 217.19),
}
グループ化された棒グラフを作成する
これで、Matplotlib のbar関数を使ってチャートを作成できます。属性をループして、それぞれに対して 1 セットの棒を作成するループを作成します。また、棒の幅と各セットの棒の位置を調整します。
x = np.arange(len(species))
width = 0.25
multiplier = 0
fig, ax = plt.subplots()
for attribute, measurement in penguin_means.items():
offset = width * multiplier
rects = ax.bar(x + offset, measurement, width, label=attribute)
multiplier += 1
棒にラベルを追加する
Matplotlib のbar_label関数を使って、棒にラベルを追加できます。これにより、各棒の上にその値が表示されます。
ax.bar_label(rects, padding=3)
チャートをカスタマイズする
ラベル、タイトルを追加し、x 軸の目盛りラベルと凡例を調整することで、チャートをカスタマイズできます。また、y 軸の制限を設定して、すべてのデータが表示されるようにします。
ax.set_ylabel('Length (mm)')
ax.set_title('Penguin attributes by species')
ax.set_xticks(x + width, species)
ax.legend(loc='upper left', ncols=3)
ax.set_ylim(0, 250)
チャートを表示する
最後に、Matplotlib のshow関数を使ってチャートを表示できます。
plt.show()
まとめ
この実験では、Python の Matplotlib を使ってグループ化された棒グラフを作成する方法と、棒にラベルを付ける方法を学びました。パルマーペンギンのデータセットからのデータを使って、種ごとのペンギンの属性を表示するチャートを作成しました。また、ラベル、タイトルを追加し、x 軸の目盛りラベルと凡例を調整することでチャートをカスタマイズする方法も学びました。