可視化を自動化する
Matplotlib の大きな強みの1つは、入力として受け取るデータに合わせて自動的に処理を調整できる点です。たとえば、カテゴリの数が事前にわからないデータを受け取った場合でも、各カテゴリに対応する棒を持つ棒グラフを作成できます。
この演習ではその手法を実践します。今回も2016年夏季オリンピックのメダル受賞者に関するデータを可視化しますが、今回のデータセットには、いくつのスポーツ種目が含まれているかが事前にわかっていません。このデータは DataFrame という名前の pandas の summer_2016_medals オブジェクトとしてメモリに読み込まれており、各行がどのスポーツ種目に対応するかを示す "Sport" という列があります。また、各選手の体重を示す "Weight" 列もあります。
この演習はコースの一部です
Matplotlib によるデータ可視化入門
演習の手順
sportsの値を反復し、sportをループ変数として設定します。- 各反復で、
"Sport"列がsportと等しい行を抽出します。 - 提供された
axオブジェクトに、スポーツ名をラベル付けし、"Weight"列の平均を高さ、標準偏差を y 軸の誤差バーとして付けるバーを追加します。 - フィギュアをファイル
"sports_weights.png"に保存します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
fig, ax = plt.subplots()
# Loop over the different sports branches
for ____ in ____:
# Extract the rows only for this sport
sport_df = ____
# Add a bar for the "Weight" mean with std y error bar
____
ax.set_ylabel("Weight")
ax.set_xticklabels(sports, rotation=90)
# Save the figure to file
____