開始使用免費開始

重新混搭一個圖表

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

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()
編輯並執行程式碼