Python matlab 绘制的一张图里包含柱状图、折线图、双刻度值、显示数据标签
时间: 2023-06-13 17:06:31 浏览: 147
可以使用 matplotlib 库来实现这个需求。下面是一个例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.array([1, 2, 3, 4, 5])
y1 = np.array([10, 8, 6, 4, 2])
y2 = np.array([1, 3, 5, 7, 9])
fig, ax1 = plt.subplots()
# 绘制柱状图
ax1.bar(x, y1, color='blue')
ax1.set_ylabel('y1')
# 创建第二个y轴
ax2 = ax1.twinx()
# 绘制折线图
ax2.plot(x, y2, color='red')
ax2.set_ylabel('y2')
# 设置双刻度值
ax1.set_xticks(x)
ax1.set_xticklabels(['A', 'B', 'C', 'D', 'E'])
ax1.tick_params(axis='x', which='major', pad=15)
# 显示数据标签
for i, v in enumerate(y1):
ax1.text(i+0.8, v+0.5, str(v), color='blue')
for i, v in enumerate(y2):
ax2.text(i+0.8, v+0.5, str(v), color='red')
plt.show()
```
这个例子中,我们生成了两个数据数组 `y1` 和 `y2`,分别表示柱状图和折线图的数据。然后,我们使用 `bar` 方法绘制柱状图,使用 `plot` 方法绘制折线图。我们还使用 `twinx` 方法创建了一个新的 y 轴,以便同时显示两种图形。接着,我们使用 `set_xticks` 和 `set_xticklabels` 方法设置 x 轴的刻度值,并使用 `tick_params` 方法增加了 x 轴刻度标签与图形的距离。最后,我们使用 `text` 方法在柱状图和折线图上添加了数据标签。
阅读全文