始める無料で始める

プロットをリミックスする

ファーマーズマーケットの緯度と、マーケットが開いている月数の関係はとても興味深いですね。直感的には、南に行くほど生育期が長くなり、マーケットも長期間開けると考えられます。これを可視化するために、州レベルでデータを集計し、マーケットが開いている期間に対応する列を持つヒートマップを描きます。ヒートマップの各行は各州のマーケットの「季節」の分布を示し、行は州の緯度の降順で並べ替えます。

heatmap

デフォルトのヒートマップは改善の余地が多くあります。フォントサイズを小さくして、州名が重ならずに収まるようにしましょう。濃い配色は淡い背景と相性が悪く、カラーバーも相対比較がポイントである今回には有益ではありません。

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

Pythonでデータ可視化を磨く

コースを見る

演習の手順

  • 州名が詰まりすぎないよう、フォントサイズをデフォルトの85%に下げます。
  • 'white' から 'steelblue' に変化する新しいカラーパレットを作成します。
  • 既定のパレットを作成した新しいものに置き換えます。
  • ヒートマップの横に描かれる連続カラーバーの凡例を削除します。

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

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

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
コードを編集して実行