将图表用作图例
在农贸市场数据中,一个有意思的研究方向是各州的"市场友好度",尤其是离群值。一个衡量方式是各州农贸市场数量与人口的比值。您可以直接查看该比值;然而,比值会丢失州的人口规模和市场数量这些"原始"信息。一个人口多的大州即使有较高比值,可能比一个小州更值得关注。
您可以通过绘制两个图来同时展示比值与原始数量:一个显示比值的柱状图,另一个是市场数量与人口的散点图。为简化这幅较为密集的可视化,您可以把柱状图当作图例使用:通过让这些州的柱和散点颜色一致,突出显示感兴趣的州。
本练习是课程的一部分
用 Python 提升数据可视化
练习说明
- 使用
plt.subplots()并排创建两个图。 - 将列
is_selected映射为柱状图与散点图的颜色。 - 在柱状图上禁用
dodge,使柱形显示为完整高度。 - 移除两个图中的图例。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))
# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
# Disable dodge so bars are full size
dodge = ____,
data = markets_by_state, ax = ax1)
# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____',
data = markets_by_state, ax = ax2, s = 100)
# Remove the legend for both plots
ax1.____()
ax2.____()
plt.show()