开始使用免费开始使用

各州售卖商品的受欢迎程度

农贸市场数据集中包含 28 种不同商品的对应列,以及这些商品是否在该市场售卖。您想看看在各州市场中,寻找某种商品的「可能性」是否有一些有趣的规律。为此,您将数据折叠为 3 列:

  • state - 州名
  • good - 关注的商品
  • prop_selling - 该州中售卖「该」商品的市场占比

为快速判断是否出现模式,您选取了一些感兴趣的商品子集,并决定做一个简单的文本-散点图:x 轴放商品,y 轴放该州市场中售卖该商品的比例。

本练习是课程的一部分

用 Python 提升数据可视化

查看课程

练习说明

  • goods_by_stateto_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()
编辑并运行代码