matplotlib作图时能否设置不均匀的y轴刻度

我有三组数据数组1、数组2、数组3,数组1范围时5%~20%, 数组2、数组3的范围是0.2%~1%

如果我按照等差设置y轴刻度(0.2%~20%)的话,我的数组2和数组3的折现图将会被压缩得很靠近,添加数据标签时也不好看如图:

img

怎样可以设置y轴刻度分位两段,0-0.05和0.05-0.2,两段刻度各占y轴的一半位置

试试双轴。

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-2*np.pi, 2*np.pi, 200)
y1 = np.square(x)
y2 = np.cos(x)

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax_twinx = ax.twinx()
ax.plot(x, y1, c='r')
ax_twinx.plot(x, y2, c='g', ls='-.')
plt.show()

img