各州售卖商品的受欢迎程度
农贸市场数据集中包含 28 种不同商品的对应列,以及这些商品是否在该市场售卖。您想看看在各州市场中,寻找某种商品的「可能性」是否有一些有趣的规律。为此,您将数据折叠为 3 列:
state- 州名good- 关注的商品prop_selling- 该州中售卖「该」商品的市场占比
为快速判断是否出现模式,您选取了一些感兴趣的商品子集,并决定做一个简单的文本-散点图:x 轴放商品,y 轴放该州市场中售卖该商品的比例。
本练习是课程的一部分
用 Python 提升数据可视化
练习说明
将
goods_by_state按to_plot中列出的目标商品进行筛选。通过将点的大小设为空(即设为 0)来隐藏散点图上的点。
- 注意:在
sns.scatterplot()中,size用于将某列的值映射到尺寸刻度,而s用于为所有点设置一个固定大小。
- 注意:在
将文本设置为居中对齐,使其正好位于对应商品的 x 轴位置上。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Subset goods to interesting ones
to_plot = ['Cheese','Maple','Fruits','Grains','Seafood','Plants','Vegetables']
goods_by_state_small = goods_by_state.____("good in "+str(to_plot))
g = sns.scatterplot('good','prop_selling', data = goods_by_state_small,
# Hide scatter points by shrinking to nothing
____ = ____)
for _,row in goods_by_state_small.iterrows():
g.annotate(row['state'], (row['good'], row['prop_selling']),
# Center annotation on axis
ha = '____',
size = 10)
plt.show()