python绘制柱状图,不同类别不同颜色,有数值显示
时间: 2024-11-24 19:43:48 浏览: 5
要创建一个柱状图,其中不同类别的柱子有不同的颜色并且在每个柱子顶部显示数值,可以使用matplotlib库的`bar()`函数配合`label`和`color`参数。下面是一个简单的示例:
```python
import matplotlib.pyplot as plt
# 假设我们有两类数据
categories = ['Category A', 'Category B']
values_a = [10, 20]
values_b = [30, 40]
# 绘制柱状图
plt.bar(categories, values_a, label='Category A', color='blue')
plt.bar(categories, values_b, bottom=values_a, label='Category B', color='red')
# 显示数值在柱顶
for i, (cat, val) in enumerate(zip(categories, values_a + values_b)):
plt.text(cat, val, str(val), ha='center', va='bottom')
# 添加标题和轴标签
plt.title('Different Categories with Color and Values Displayed')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.legend()
# 显示图形
plt.show()
```
在这个例子中,`bottom`参数用于设置第二个柱子的起始位置,使得它们不重叠。`text()`函数用来在每个柱子顶部添加数值。
阅读全文