可視化を自動化する
Matplotlib の大きな強みのひとつは、入力として受け取るデータに合わせて自動化できることです。たとえば、カテゴリ数が不明なデータを受け取っても、各カテゴリに対応する棒を持つ棒グラフを作成できます。
この演習では、まさにそれを行います。2016 年夏季オリンピックのメダリストに関するデータを再び可視化しますが、今回は競技の枝(種目)の数が不明なデータセットを扱います。これは pandas の DataFrame オブジェクト 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
____