自定义发散调色板热力图
Seaborn 的 heatmap() 默认配色不会对取值 0 做特殊处理。若变量中 0 并不特殊,这没有问题;但当 0 代表中性值时,您就需要自定义调色板。
在本次可视化中,您希望将各城市与 2015 年 11 月 CO 的平均污染值进行比较。(相关数据已在 DataFrame nov_2015_CO 中提供。)
为此,请使用热力图来编码各城市当日 CO 污染值距离平均值的标准差数。您需要创建自定义的发散调色板并传给热力图函数,同时告知函数您的中性值是什么,以替换默认调色板。
本练习是课程的一部分
用 Python 提升数据可视化
练习说明
将发散调色板传入您的图表。
- 注意,Seaborn 中的
sns.heatmap()函数没有palette参数,而是需要使用cmap参数。
- 注意,Seaborn 中的
通过指定
center参数,为热力图添加中性值。将色条的上下边界设置为
-4和4,以使图例对称。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define a custom palette
color_palette = sns.diverging_palette(250, 0, as_cmap = True)
# Pass palette to plot and set axis ranges
sns.heatmap(nov_2015_CO,
____ = ____,
____ = ____,
vmin = ____,
vmax = ____)
plt.yticks(rotation = 0)
plt.show()