使用【python】写【绘制多纵轴数据折线图】的代码
时间: 2024-10-11 19:08:17 浏览: 34
以Matlab、Python为工具实现数据可视化之美 由浅入深代码范例(含代码说明).docx
在Python中,可以使用matplotlib库来创建多纵轴的数据折线图。以下是一个简单的例子,展示如何创建一个有两个纵轴的折线图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建两个数据系列
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个新的figure
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))
# 绘制第一个折线图
axs[0].plot(x, y1, label='sin(x)')
axs[0].set_ylabel('sin(x)') # 设置左纵轴标签
axs[0].legend() # 显示图例
# 绘制第二个折线图
axs[1].plot(x, y2, label='cos(x)')
axs[1].set_ylabel('cos(x)', rotation=-90, va='bottom') # 设置右纵轴标签,并旋转角度使其垂直显示
axs[1].spines['right'].set_position(("axes", 1)) # 移动右边框到第二条轴
axs[1].yaxis.tick_right() # 右侧设置y轴刻度
axs[1].legend() # 同样显示图例
# 添加标题
fig.suptitle('Multi-Y Axis Example')
plt.tight_layout() # 紧凑布局,防止子图之间有空隙
plt.show()
```
在这个例子中,`subplots`函数用于创建包含两个子图的画布,每个子图对应一个纵轴。通过设置`yaxis.tick_right()`和`spines`属性,我们可以将第二个纵轴移动并配置其位置。
阅读全文