重新混搭一個圖表
你對農夫市集的緯度與市集開放月份數之間的關係感到很有趣。直覺上越往南,生長季越長,因此市集能開放更久。為了把這個故事視覺化,你將市集資料彙整到州的層級,並繪製一張熱圖,欄代表市集開放的期間。熱圖中的每一列呈現某州的市集「季節」分佈,且各列依該州的緯度由高到低排序。

預設的熱圖還有很多可以改善的地方。把字型大小調小,讓每個州名都能不重疊地顯示。深色的調色盤也與淺色背景不太搭配,而且色帶對讀者幫助不大,因為重點在相對比較。
本練習屬於課程
用 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()