Matplotlib使用twinx绘制双Y轴的图像

Matplotlib绘制两个Y轴需要使用.twinx()的方法:

fig = plt.figure()
ax = fig.add_subplot(111) # 第一个轴
ax2 = ax.twinx() # 第二个轴

示例代码

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 20)
y1 = np.random.random(20)
y2 = np.random.random(20) * 100
y3 = np.random.random(20) * 100

# 开始绘图
fig = plt.figure()
ax = fig.add_subplot(111)

line1 = ax.plot(x, y1, label='y1', color="magenta")
ax2 = ax.twinx()
line2 = ax2.plot(x, y2, label="y2", color='deepskyblue')
line3 = ax2.plot(x, y3, label="y3", color="pink")

# 把图例都合并到一起
lns = line1 + line2 + line3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)
# 设置坐标轴
ax.set_xlabel('x axis')
ax.set_ylabel('y1 axis')
ax2.set_ylabel("y2+y3 axis")

plt.show()

效果:
Matplotlib使用twinx绘制双Y轴的图像_第1张图片

你可能感兴趣的:(python,python,线性代数,开发语言)