在 Matplotlib 中向水平条形图添加值
条形图是可视化数据和识别模式的有用工具。为了提高绘图清晰度,直接在图表上显示每个条形的精确值通常很有帮助。这可以为解释和分析提供方便的参考。
在 matplotlib 中,创建水平条形图非常简单。以下代码片段生成一个表示不同类别的频率的条形图:
import matplotlib.pyplot as plt import numpy as np # Data for the plot x = [u'INFO', u'CUISINE', u'TYPE_OF_PLACE', u'DRINK', u'PLACE', u'MEAL_TIME', u'DISH', u'NEIGHBOURHOOD'] y = [160, 167, 137, 18, 120, 36, 155, 130] # Create the bar plot fig, ax = plt.subplots() width = 0.75 # Bar width ind = np.arange(len(y)) # X locations for groups ax.barh(ind, y, width, color="blue") ax.set_yticks(ind + width / 2) ax.set_yticklabels(x, minor=False) plt.title('Bar Plot') plt.xlabel('Frequency') plt.ylabel('Category')
但是,该图缺少条形图上的值。要添加值,您可以使用以下行扩展代码:
# Add bar values for i, v in enumerate(y): ax.text(v + 3, i, str(v), color='blue', fontweight='bold', verticalalignment='center')
此代码迭代 y 值并将每个值的字符串表示形式添加到绘图中。 ax.text 方法将文本定位在绘图坐标系中指定的 x 位置 (v 3) 和 y 位置 (i)。
生成的绘图将在每个条形上显示值,可以快速轻松地解释数据:
[带有值的条形图图像]
此增强功能极大地提高了绘图的可用性,并允许查看者快速掌握每个条代表的具体数值。
以上是如何将数据值添加到 Matplotlib 条形图中的水平条形图中?的详细内容。更多信息请关注PHP中文网其他相关文章!