如何使用 Python 中的 Matplotlib 注释条形图中的条形?
简介
条形图是数据可视化中常用的一种图表。由于条形图易于制作和理解,因此它们是许多数据科学家的首选。但是,当我们需要可视化其他信息时,条形图可能会失效。
注释在这种情况下很有用。在条形图中,可以使用注释来更好地理解数据。
语法和用法
使用 Matplotlib 的 annotate() 函数。该方法接受许多输入,例如要注释的文本、注释应放置在何处以及多种格式选择,包括字体大小、颜色和样式。annotate() 函数的基本语法如下 &minnus;
ax.annotate(text, xy, xytext=None, arrowprops=None, **kwargs)
text − 要显示为注释的文本字符串
xy − 要注释的点的 (x, y) 坐标
xytext − 文本位置的 (x, y) 坐标。如果未指定,则将使用 xy。
arrowprops − 箭头属性的字典,例如颜色、宽度、样式等。
**kwargs − 用于设置注释文本样式的额外关键字参数,例如字体大小、颜色等。
可以使用 annotate() 方法标记某些数据点或向图中添加更多信息。此外,它还可用于生成图形组件,如箭头或指示特定绘图点的其他标记。
要使用 Matplotlib 在条形图中注释条形,我们可以使用此算法 -
导入必要的库
使用 plt.figure() 创建图形对象。
使用 fig.add_subplot() 向图形添加子图。
使用 ax.bar() 创建条形图。
循环遍历条形并使用 ax.annotate() 添加注释。
将高度、宽度和要显示的文本传递给 annotate() 函数
使用渲染图形plt.show()
示例
import matplotlib.pyplot as plt # 创建图形对象 fig = plt.figure() # 向图形添加子图 ax = fig.add_subplot(111) # 创建条形图 bars = ax.bar(['A', 'B', 'C'], [10, 20, 30]) # 循环遍历条形图并添加注释 for bar in bars: height = bar.get_height() ax.annotate(f'{height}', xy=(bar.get_x() + bar.get_width() / 2, height), xytext=(0, 3), textcoords="offset points", ha='center', va='bottom') # 显示图表 plt.title('条形图(带注释)') plt.show()
首先创建一个图形对象并将子图附加到它。然后,使用 plt.bar() 方法生成条形图,并将生成的条形图保存在名为 bars 的变量中。循环显示条形图并使用 plt.annotate() 方法添加注释。
第一个选项是您希望注释的文本,在本例中是条形图的高度。然后使用 xy 参数指示注释的位置,它是 (x, y) 坐标对。
xytext 选项用于指示文本与 xy 坐标的偏移量。最后,使用 ha 和 va 选项指定文本的水平和垂直对齐方式。
值得注意的是,plt.annotate() 方法为您提供了许多选项,可用于自定义条形图中的注释。您可以通过尝试使用 xy、xytext、ha 和 va 变量的不同值来设计完全符合您个人需求的注释。
结论
您可以使用 annotate() 函数向 Matplotlib 中的条形图添加独特的注释,以帮助解释所呈现的数据。本文概述了一种分步算法,可让您轻松地将此功能添加到您自己的应用程序中。您只需按照说明操作,即可制作实用且美观的带有注释的条形图。