首页 >后端开发 >Python教程 >如何将数据值添加到 Matplotlib 条形图中的水平条形图中?

如何将数据值添加到 Matplotlib 条形图中的水平条形图中?

Linda Hamilton
Linda Hamilton原创
2024-11-24 03:08:16235浏览

How to Add Data Values to Horizontal Bars in a Matplotlib Bar Plot?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn