使用两个y轴来实现不同刻度共享同一个x轴。具体方法为先创建主图(包含x轴和一个y轴),然后利用twinx()函数创建次图(包含同一个x轴和另一个y轴),最后把次图y轴与主图y轴对齐,并设置次图y轴的刻度范围。
代码示例:
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.exp(x/10)
# 创建主图
fig, ax1 = plt.subplots()
# 绘制主图上的曲线
ax1.plot(x, y1, color='tab:red')
ax1.set_xlabel('x')
ax1.set_ylabel('y1', color='tab:red')
ax1.tick_params(axis='y', labelcolor='tab:red')
# 创建次图
ax2 = ax1.twinx()
# 绘制次图上的曲线
ax2.plot(x, y2, color='tab:blue')
ax2.set_ylabel('y2', color='tab:blue')
ax2.tick_params(axis='y', labelcolor='tab:blue')
# 设置次图y轴刻度范围与主图相同
ax2.set_ylim(ax1.get_ylim())
plt.show()