开始使用免费开始使用

箭头注释

假设您是加利福尼亚州 Long Beach 的城市规划师。Long Beach 位于太平洋沿岸,每年除夕都会有大型烟花表演。您想研究这项活动是否会对城市的空气质量产生负面影响。为此,您将查看新年当天的 CO 和 NO2 水平。不过,结果显示新年当天在右侧图中并非离群点,而是位于较为密集的区域。

为了引导读者注意该点,您将使用带箭头的注释指向新年当天的数值。这样可以在图中较不拥挤的区域展示文字,同时说明观众正在查看的内容。

本练习是课程的一部分

用 Python 提升数据可视化

查看课程

练习说明

  • 使用 pandas 的 .query() 方法,从 jan_pollution 中提取 Long Beach 市 2012 年新年当天对应的行。
  • 使用 lb_newyears DataFrame 中的 CONO2 列值设置箭头的终点(xy)。
  • 使用参数 xytext 将注释箭头的文字放在显示区域的左下角,位置为 x = 2、y = 15
  • 将箭头的 'shrink' 设置为 0.03,以免遮挡关注的点。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Query and filter to New Years in Long Beach
jan_pollution = pollution.query("(month  ==  1) & (year  ==  2012)")
lb_newyears = jan_pollution.query("(____  ==  ____) & (____  ==  '____')")

sns.scatterplot(x = 'CO', y = 'NO2',
                data = jan_pollution)

# Point arrow to lb_newyears & place text in lower left 
plt.annotate('Long Beach New Years',
             xy = (____, ____),
             xytext = (____, _____), 
             # Shrink the arrow to avoid occlusion
             arrowprops = {'facecolor':'gray', 'width': 3, '____': ____},
             backgroundcolor = 'white')
plt.show()
编辑并运行代码