始める無料で始める

可視化を自動化する

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