始める無料で始める

可視化を自動化する

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
____
コードを編集して実行