重混一幅图
您发现农贸市场的纬度与市场开放月份数之间的关系非常有趣。直觉上,越往南,生长期越长,因此市场也能开放更久。为展示这个现象,您将市场数据汇总到州级,并绘制热力图,列对应市场开放的时长。热力图中的每一行展示某个州的市场"季节"分布,行按照该州纬度从高到低排序。

默认的热力图还有很多可改进之处。请减小字体大小,使每个州名都能不重叠地显示。深色调色板与浅色背景也不协调,且色条对读者帮助不大,因为这里的重点是相对比较。
本练习是课程的一部分
用 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()