python画柱状图(双柱状图,三柱状图)且显示对应数值
时间: 2023-09-25 22:03:36 浏览: 130
使用Python绘制柱状图可以使用matplotlib库。对于双柱状图和三柱状图,我将分别提供两种示例代码。
双柱状图示例:
```python
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [10, 15, 8, 12, 6]
values2 = [8, 12, 10, 14, 5]
# 绘图
plt.bar(categories, values1, label='柱状图1')
plt.bar(categories, values2, label='柱状图2')
# 显示数值标签
for i in range(len(categories)):
plt.text(categories[i], values1[i], str(values1[i]), ha='center', va='bottom')
plt.text(categories[i], values2[i], str(values2[i]), ha='center', va='bottom')
# 添加图例和标签
plt.legend()
plt.xlabel('分类')
plt.ylabel('数值')
# 显示图形
plt.show()
```
三柱状图示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [10, 15, 8, 12, 6]
values2 = [8, 12, 10, 14, 5]
values3 = [5, 10, 7, 9, 3]
# 绘图
bar_width = 0.25
index = np.arange(len(categories))
plt.bar(index, values1, bar_width, label='柱状图1')
plt.bar(index + bar_width, values2, bar_width, label='柱状图2')
plt.bar(index + 2 * bar_width, values3, bar_width, label='柱状图3')
# 显示数值标签
for i in range(len(categories)):
plt.text(index[i], values1[i], str(values1[i]), ha='center', va='bottom')
plt.text(index[i] + bar_width, values2[i], str(values2[i]), ha='center', va='bottom')
plt.text(index[i] + 2 * bar_width, values3[i], str(values3[i]), ha='center', va='bottom')
# 添加图例和标签
plt.legend()
plt.xlabel('分类')
plt.ylabel('数值')
# 调整x轴刻度标签
plt.xticks(index + bar_width, categories)
# 显示图形
plt.show()
```
以上示例代码可以根据自己的需求进行修改和定制,其中`categories`是分类的标签,`values1、values2`是对应的数值。使用函数`plt.bar`绘制柱状图,使用`plt.text`添加数值标签,最后使用`plt.show`显示图形。