始める無料で始める

凡例としてプロットを使う

ファーマーズマーケットのデータで興味深い切り口の一つは、各州の「マーケットにやさしさ(market friendliness)」、特に外れ値を探ることです。これを眺める一つの方法は、州ごとの人口に対するファーマーズマーケットの数の比率を見ることです。比率だけを直接見ることもできますが、比率だけでは州の人口やマーケット数といった生の情報を捨ててしまいます。小さな州よりも、同じ高い比率でも大きな州のほうがより興味深いかもしれません。

比率と生の数値の両方を見せるには、2 つのプロットを描きます。1 つは比率のバー、もう 1 つはマーケット数と人口の散布図です。情報量の多い可視化をすっきり見せるために、バーの色と散布図の点の色を合わせ、バーのプロット自体を凡例の役割として使い、注目すべき州を強調します。

この演習はコースの一部です

Pythonでデータ可視化を磨く

コースを見る

演習の手順

  • plt.subplots() を使って左右に 2 つのプロットを並べて配置します。
  • 棒グラフと散布図のどちらにも、色に is_selected 列をマッピングします。
  • 棒グラフでは dodge を無効にし、バーが全高になるようにします。
  • 両方のプロットで凡例を削除します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))

# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
            # Disable dodge so bars are full size
            dodge = ____, 
            data = markets_by_state, ax = ax1)

# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____', 
                data = markets_by_state, ax = ax2, s = 100)

# Remove the legend for both plots
ax1.____()
ax2.____() 
plt.show() 
コードを編集して実行