我在用matplotlib制作3行1列(带有子图)时遇到了问题。
我能够将我的基础图像绘制为所有绘图上的绘图背景并正确缩放。
但是,我现在想以不同的y比例在此背景上绘制数据,因此可以考虑在每个子图中添加辅助y轴。
唯一的问题是,当我创建辅助轴时,它会破坏原始子图的缩放比例和限制,而我无法使其恢复正常吗?请参阅图片以供参考。
我当前的代码是
fig,plts = plt.subplots(3,1,figsize=(12,9))
img = plt.imread(imfile)
for i in range(3):
plts[i].imshow(np.rot90(img,k=3),interpolation='none',extent=(bounds.bottom,bounds.top,bounds.right,bounds.left),alpha=0.7)
plts[i].set_ylim([bounds.right,213300])
#start,end = plts[i].get_ylim()
#plts[i].set_yticks(np.arange(start,end,100))
plts[i].grid(which='both')
但是当我添加命令时:
ax0 = plts[0].twinx()
ax1 = plts[1].twinx()
ax2 = plts[2].twinx()
是否有一种方法可以简单地实例化具有与子图相同的x轴的辅助y轴,而又不会弄乱原始子图的限制/缩放比例?我曾尝试过将xlims和ylims弄乱,但仍然很奇怪。我只想在此图像上绘制