如何把直方图上每根柱子的Y轴的值标在柱子顶上
时间: 2024-02-19 22:03:33 浏览: 147
计算机软件-商业源码-把数值写到柱状图的柱顶上.zip
要直方图上标注每根柱子的Y轴值,你需要使用matplotlib库中的annotate()函数。该函数可以在图表上添加注释,并且支持在注释中添加文本和箭头等元素。
具体步骤如下:
1. 首先,使用matplotlib库绘制直方图,并且获取每根柱子的高度值。
2. 然后,使用循环遍历每根柱子,并且使用annotate()函数在柱子的顶部添加注释。在注释中,使用柱子的高度值作为文本,并且设置文本的位置为柱子的顶部。
以下是示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些随机数据
data = np.random.randint(0, 10, size=10)
# 绘制直方图
plt.hist(data)
# 获取每根柱子的高度值
heights, bins, patches = plt.hist(data)
# 在每根柱子的顶部添加注释
for i, patch in enumerate(patches):
x = patch.get_x() + patch.get_width() / 2
y = patch.get_height()
plt.annotate(str(int(heights[i])), (x, y), xytext=(0, 5), textcoords="offset points", ha="center", va="bottom")
# 显示图表
plt.show()
```
在上述示例代码中,使用annotate()函数在每根柱子的顶部添加注释。其中,x和y分别表示注释的位置,xytext表示注释文本的偏移量,textcoords表示偏移量的坐标系,ha和va表示文本的水平和垂直对齐方式。
阅读全文