我有一个脚本,可以在相同数量的两个方面并排生成两个图。它相当长,所以这只是相关的(我相信)部分。左侧图由函数“ 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
函数相比,这具有明显的优势。