我有一个脚本,可以在相同数量的两个方面并排生成两个图。它相当长,所以这只是相关的(我相信)部分。左侧图由函数“ plot_shearsticks2”调用

根据我要绘制的数据,左侧图的尺寸可能略有不同,但是我希望两者的高​​度始终相同,并且如果左侧的图更宽,那很好(通常应该这样做) 。这是相关的部分:

    import matplotlib.pyplot as plt

    figr = plt.figure(i,figsize=(11, 5))

    fig=figr.add_subplot(121,aspect='equal')
    figr.subplots_adjust(wspace=0.3)
    shearplot = plot_shearsticks2(cat.data,[imoments[0],imoments[1],imoments[2],imoments[3],imoments[4]],scale_factor,'-k')

    fig=figr.add_subplot(122,aspect='equal')
    figr = plt.figure(i,figsize=(11, 5))


在此下方,有一些制作右侧图的说明,但似乎没有任何迹象表明它有多高。修补add_subplot中的选项似乎没有任何效果-由于某种原因,左侧总是较小。任何想法如何使它们相等的高度?

最佳答案

我总是发现axes功能更容易。例如:

import pylab as pl
pl.figure(figsize=(4,3))
pl.axes([0.2, 0.2, 0.75, 0.35 ])
pl.axes([0.2, 0.55, 0.75, 0.35 ])


这样,您就可以非常精确地控制轴属性,甚至可以部分/完全重叠一个轴。与subplot函数相比,这具有明显的优势。

10-08 15:12