编写Python程序,使用matplotlib 绘制一个柱形图,展示不同类别的数据,要求如下x轴标签为[ABCDE],对应y轴值为[10,15,7,12,5]设置每个柱子的颜色为蓝色,宽度为0.5,为每个柱子顶部添加数值标签,显示柱子的具体高度
时间: 2024-11-05 12:24:47 浏览: 24
基于matplotlib在python中绘制图形 代码中给出了一个sinx,一个三维曲面的绘制代码示例
要使用matplotlib绘制一个满足您描述的柱状图,您可以按照以下步骤进行:
```python
import matplotlib.pyplot as plt
# 数据列表
categories = ['A', 'B', 'C', 'D', 'E']
data = [10, 15, 7, 12, 5]
# 创建一个新的图形
fig, ax = plt.subplots()
# 使用bar()函数创建柱状图,参数说明如下:
# x - x轴上的类别标签
# height - 柱子的高度,对应y轴值
# color - 柱子颜色
# width - 柱子宽度
bars = ax.bar(categories, data, color='blue', width=0.5)
# 设置x轴标签
ax.set_xticklabels(categories)
ax.set_xlabel('Categories')
# 显示每个柱子顶部的数值标签(使用text()函数)
for bar, value in zip(bars, data):
plt.text(bar.get_x() + bar.get_width() / 2, value, str(value),
ha='center', va='bottom') # ha表示水平对齐方式,va表示垂直对齐方式
# 设置y轴范围并调整刻度
ax.set_ylim(0, max(data) + 2) # 加些余量防止数值超出图表范围
ax.yaxis.grid(True) # 添加网格线
# 显示图形
plt.show()
```
这段代码将会生成一个符合您需求的柱状图,每个柱子代表一类别的数据,蓝色、宽度为0.5,顶部有数值标签,x轴标签为[A-E],y轴显示数据。
阅读全文