辅助Y轴位置matplotlib
我需要更改matplotlib绘图上的次Y轴位置 这就像是同一个情节中的一个子情节 在下图中,我的第二个Y轴从与第一个Y轴相同的位置开始。我需要第二个Y轴从第一个Y轴的“18”位置开始,具有较小的比例(红线)辅助Y轴位置matplotlib,matplotlib,Matplotlib,我需要更改matplotlib绘图上的次Y轴位置 这就像是同一个情节中的一个子情节 在下图中,我的第二个Y轴从与第一个Y轴相同的位置开始。我需要第二个Y轴从第一个Y轴的“18”位置开始,具有较小的比例(红线) 如果我理解正确,看到您发布的图,您需要第二个y轴。您可以使用plt.twinx执行此操作。示例如下所示: import matplotlib.pyplot as plt plt.plot([1,2,3]) plt.twinx() plt.plot([5,4,5]) plt.show()
如果我理解正确,看到您发布的图,您需要第二个y轴。您可以使用
plt.twinx
执行此操作。示例如下所示:
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.twinx()
plt.plot([5,4,5])
plt.show()
如果我理解这个问题,你需要一个
twinx
轴,正如@kikocorreoso所说,但是你也需要压缩它,所以它只占据y轴的上部
只需将ylim
设置为大于所需的值,并显式设置yticks
,即可完成此操作。下面是一个随机数据的例子
import matplotlib.pyplot as plt
import numpy as np
data = [np.random.normal(np.random.randint(0,5),4,25) for _ in range(25)] # some random data
fig=plt.figure()
ax1=fig.add_subplot(111)
ax2=ax1.twinx()
ax1.set_ylim(-5,25)
ax2.set_ylim(0,14)
ax2.set_yticks([10,12,14]) # ticks below 10 don't show up
ax1.boxplot(data)
ax2.plot(np.linspace(0,26,50),12.+2.*np.sin(np.linspace(0,2.*np.pi,50))) # just a random line
plt.show()
这正是我需要的。谢谢