Python画柱状图(三柱状图)且显示对应数值
时间: 2023-10-03 09:05:25 浏览: 129
基于python的柱状图绘制与实现
以下是一个示例代码,可以用来绘制带有数值标签的三柱状图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
labels = ['A', 'B', 'C', 'D', 'E']
values1 = [20, 35, 30, 25, 40]
values2 = [15, 30, 45, 20, 35]
values3 = [10, 25, 30, 15, 30]
# 生成位置
x = np.arange(len(labels))
# 绘制柱状图
width = 0.25
fig, ax = plt.subplots()
rects1 = ax.bar(x - width, values1, width, label='Values1')
rects2 = ax.bar(x, values2, width, label='Values2')
rects3 = ax.bar(x + width, values3, width, label='Values3')
# 添加数值标签
def autolabel(rects):
for rect in rects:
height = rect.get_height()
ax.annotate('{}'.format(height),
xy=(rect.get_x() + rect.get_width() / 2, height),
xytext=(0, 3), # 3 points vertical offset
textcoords="offset points",
ha='center', va='bottom')
autolabel(rects1)
autolabel(rects2)
autolabel(rects3)
# 添加图例、标题和轴标签
ax.set_xticks(x)
ax.set_xticklabels(labels)
ax.legend()
ax.set_title('Triple Bar Chart')
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
plt.show()
```
这个示例代码中,使用`np.arange()`函数生成了柱状图的位置。`plt.bar()`函数用来绘制柱状图,`width`参数设置柱子的宽度。`autolabel()`函数用来添加柱子上的数值标签。最后,使用`ax.legend()`函数添加图例,使用`ax.set_title()`、`ax.set_xlabel()`和`ax.set_ylabel()`函数添加标题和轴标签。
你可以将`values1`、`values2`和`values3`替换为你自己的数据,然后运行代码来绘制三柱状图。
阅读全文