Python Matplotlib是否获取子批次(轴)大小?

Python Matplotlib是否获取子批次(轴)大小?,python,matplotlib,Python,Matplotlib,只是漫游-如何在Matplotlib中获得子图(轴?)的大小 如果我在中执行Ctrl-F“size”,则在上下文中只有一个匹配:“…具有不同的标记大小和/或…”,因此它不会真正告诉我如何查找轴的大小 喂,我的代码和中的相同 #/usr/bin/env蟒蛇3 导入matplotlib 打印(“matplotlib.\uuuuuuuuuuu版本{}”。格式(matplotlib.\uuuuuuu版本) 将matplotlib.pyplot作为plt导入 将numpy作为np导入 默认大小英寸=(9,

只是漫游-如何在Matplotlib中获得子图(轴?)的大小

如果我在中执行Ctrl-F“size”,则在上下文中只有一个匹配:“…具有不同的标记大小和/或…”,因此它不会真正告诉我如何查找轴的大小

喂,我的代码和中的相同

#/usr/bin/env蟒蛇3
导入matplotlib
打印(“matplotlib.\uuuuuuuuuuu版本{}”。格式(matplotlib.\uuuuuuu版本)
将matplotlib.pyplot作为plt导入
将numpy作为np导入
默认大小英寸=(9,6)
showThird=False
def onpress(事件):
全局图、ax1、ax2、ax3、showThird
如果event.key='x':
showThird=不showThird
如果显示第三个:
图设置尺寸英寸(默认尺寸英寸[0]+3,默认尺寸英寸[1],正向=真)
plt.subplot_adjust(right=0.85)#在右侧留出一点空间
ax3.设置_可见(真)
ax3.将轴设置在()上
其他:
图设置尺寸英寸(默认尺寸英寸[0],默认尺寸英寸[1],正向=真)
plt.子批次调整(右=0.9)#默认值
ax3.设置_可见(错误)
ax3.设置轴为off()
图canvas.draw()
def main():
全局图,ax1,ax2,ax3
扩展数据=np.arange(0,101,1)#0到100,两者都包括在内
ydata1=np.sin(0.01*xdata*np.pi/2)
ydata2=10*np.sin(0.01*xdata*np.pi/4)
图=plt.图(figsize=默认尺寸英寸,dpi=120)
ax1=plt.subplot2grid((3,3)、(0,0),colspan=2,rowspan=2)
ax2=plt.subplot2grid((3,3)、(2,0),colspan=2,sharex=ax1)
ax3=plt.subplot2grid((3,3)、(0,2),rowspan=3)
ax3.设置_可见(错误)
ax3.设置轴为off()
ax1.绘图(扩展数据,ydata1,color=“红色”)
ax2.绘图(扩展数据,ydata2,color=“卡其色”)
图canvas.mpl\u connect('key\u press\u event',lambda event:onpress(event))
plt.show()
#入口点
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

如何找到由ax1和ax2轴表示的子批的大小?

有关
bbox
工作原理的完整说明,请参阅。每个轴对象都适合一个边界框。您所需要做的就是获得轴边界框的高度和宽度。
ax\u h,ax\u w=ax.bbox.height,ax.bbox.width

您可以使用
bbox.transformed
方法转换为地物坐标。例如:
ax\u h=ax.bbox.transformed(图gca().transAxes)。高度。你想知道轴在哪个坐标系下的大小?谢谢@PaulBrodersen-我想,我想知道“相对”(即
“图形”
)和“绝对”(即,
“图形英寸”
)的图形,因为我想知道进一步缩放子地块的信息。
ax.get\u position()
给出了相对地物坐标中的位置。将这些数字除以以英寸为单位的数字大小(
fig.get_size_inches()
),以英寸为单位获得位置。这有帮助吗?请解释一下你的答案是如何起作用的,以及你到底做了什么。这鼓励OP复制和粘贴,而不了解解决方案是什么。