python用plt.bar生成的条形图,在每一个条形上面显示数据
时间: 2024-05-15 12:14:44 浏览: 69
可以使用 plt.text 在条形图上方添加数据标签。具体实现可以参考以下代码:
``` python
import matplotlib.pyplot as plt
# 模拟数据
x = ['A', 'B', 'C', 'D', 'E']
y = [20, 35, 30, 25, 15]
# 生成条形图
fig, ax = plt.subplots()
ax.bar(x, y)
# 在条形图上方添加数据标签
for i, v in enumerate(y):
ax.text(i, v + 1, str(v), ha='center')
plt.show()
```
运行以上代码,即可得到每个条形上方的数据标签。
相关问题
plt.bar在条形图上方显示数据
您可以使用`plt.bar()`函数的`text()`方法,在每个条形图上方添加文本标签来显示数据。以下是示例代码:
```python
import matplotlib.pyplot as plt
# 数据
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 36, 40, 15]
# 绘制条形图
plt.bar(x, y)
# 添加数据标签
for i in range(len(x)):
plt.text(i, y[i]+1, y[i], ha='center')
plt.show()
```
这将绘制一个带有条形图和数据标签的图形。在每个条形图上方的中心位置添加了相应的数据标签。您可以根据需要更改标签的位置和格式。
Python plt.bar画并列条形图
要使用Python的matplotlib库中的plt.bar函数绘制并列条形图,可以按照以下步骤进行操作:
1. 导入matplotlib库和numpy库:
``` python
import matplotlib.pyplot as plt
import numpy as np
```
2. 准备数据:
``` python
x = np.array([1, 2, 3, 4, 5])
y1 = np.array([10, 8, 6, 4, 2])
y2 = np.array([12, 9, 7, 5, 3])
```
其中x表示x轴上的标签,y1和y2分别表示两组数据。
3. 绘制并列条形图:
``` python
plt.bar(x, y1, width=0.4, alpha=0.8, color='b', label='A')
plt.bar(x+0.4, y2, width=0.4, alpha=0.8, color='g', label='B')
plt.legend(loc='upper right')
plt.show()
```
其中plt.bar函数的第一个参数x表示x轴上的位置,第二个参数y表示y轴上的数值,width表示条形图的宽度,alpha表示不透明度,color表示颜色,label表示图例标签。
通过将第一组数据的x轴位置加上0.4,将第二组数据的条形图并列绘制。
最后通过plt.legend函数添加图例并将图形显示出来。
完整代码如下:
``` python
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y1 = np.array([10, 8, 6, 4, 2])
y2 = np.array([12, 9, 7, 5, 3])
plt.bar(x, y1, width=0.4, alpha=0.8, color='b', label='A')
plt.bar(x+0.4, y2, width=0.4, alpha=0.8, color='g', label='B')
plt.legend(loc='upper right')
plt.show()
```
阅读全文