matplotlib 绘制柱状图且上方显示数据
时间: 2023-03-30 21:03:21 浏览: 119
可以使用 matplotlib 库中的 bar 函数绘制柱状图,并使用 annotate 函数在柱状图上方显示数据。具体实现可以参考以下代码:
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]
# 绘制柱状图
plt.bar(x, y)
# 在柱状图上方显示数据
for i, j in zip(x, y):
plt.annotate(str(j), xy=(i, j), ha='center', va='bottom')
# 显示图形
plt.show()
相关问题
如何matplotlib柱状图上方显示数据
可以使用`plt.text()`函数在柱状图上方显示数据。具体步骤如下:
1. 确定要显示的数据和其位置。
2. 在绘图时,先绘制柱状图。
3. 循环遍历每个柱状图,使用`plt.text()`函数在柱状图上方添加文本。
下面是一个示例代码:
```python
import matplotlib.pyplot as plt
# 数据
data = [20, 30, 40, 50, 60]
# 绘制柱状图
plt.bar(range(len(data)), data)
# 添加数据标签
for i, v in enumerate(data):
plt.text(i, v+1, str(v), ha='center')
# 显示图像
plt.show()
```
在这个示例中,我们首先绘制了一个柱状图,然后使用循环遍历每个柱状图,使用`plt.text()`函数在柱状图上方添加数据标签。`plt.text()`函数的三个参数分别是 x 坐标、y 坐标和要显示的文本,其中 `ha='center'` 表示文本水平居中对齐。
matplotlib 绘制组合柱状图
以下是使用matplotlib绘制组合柱状图的示例代码:
```python
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D']
values1 = [10, 15, 12, 8]
values2 = [8, 12, 10, 15]
# 绘制柱状图
plt.bar(categories, values1, label='Group 1')
plt.bar(categories, values2, label='Group 2', bottom=values1)
# 添加图例和标签
plt.legend()
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Combined Bar Chart')
# 显示图形
plt.show()
```
这段代码会绘制一个组合柱状图,其中包含两组柱子。每组柱子都有四个类别,并且每个类别都有对应的值。第一组柱子表示"Group 1",第二组柱子表示"Group 2"。第二组柱子会堆叠在第一组柱子上方。