Python 检测matplotlib表是否需要调整

Python 检测matplotlib表是否需要调整,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一些表格问题,例如,显然,使用为该答案提供的解决方案,我可以调整单元格。我不明白的是,如果不做眼球测试,如何检测一个太大,另一个太小 更新 代码创建了下面的图表。请注意表下文本的大小和列表中文本的大小。“下”太大,列表太小。如何以编程方式检测这些条件,而不必查看图表 更新2我可以从前面的答案中添加以下代码: table_props = tbl.properties() table_cells = table_props['child_artists'] for cell in table_c

我有一些表格问题,例如,显然,使用为该答案提供的解决方案,我可以调整单元格。我不明白的是,如果不做眼球测试,如何检测一个太大,另一个太小

更新 代码创建了下面的图表。请注意表下文本的大小和列表中文本的大小。“下”太大,列表太小。如何以编程方式检测这些条件,而不必查看图表

更新2我可以从前面的答案中添加以下代码:

table_props = tbl.properties()
table_cells = table_props['child_artists']
for cell in table_cells: cell.set_height(0.1)

但是,0.1是通过查看图表并查看当前高度值来选择的。我想知道的是如何在不看图表的情况下计算0.1。如果当前高度为.5,并且高度太小,我需要使其变大,但如果我想使其变小,则必须使其变小。了解你所处情况的公式是什么。或者反过来说,知道高度是可以的,但你需要改变字体大小

在更新2中,您只需更改第二个表

无论如何,我想您正在寻找
tight\u layout()
函数,只需在末尾添加以下内容:

plt.tight_layout(h_pad=2)
h_pad
设置两个子地块之间的高度空间,因此这里2是因为您有一个上面有一行的表格。(尽管是经验决定的)

好的,matplotlib中唯一可以自动更改绘图属性以调整元素间距的函数是
plt.tight_layout()
plt.savefig(…,bbox_inches=“tight”)

有关更多信息,请参见此处:


这是最基本的答案,不要在家里尝试。如果只有一个图形和表格,那么紧凑的布局就可以了。如果你在一个图形中有多个图表,不,它不起作用


我的解决方案是只为表条目创建一个单独的gridspec区域。把桌子放在轴上,然后做紧密的布局。这很有效。桌子的定位可能很棘手,但我确实做到了。

你的问题听起来我不太清楚。请提供一个,以及您期望的。更新以说明问题。这不是一个最小的、完整的和可验证的示例,尽管您做了一些努力。请提供你的期望和你的尝试。希望我已经明确了问题是什么。我正试图从目视检查转向调整图表的编程方法。我不明白如何在不看图表的情况下从代码内部“知道”出现了什么情况。我们应该能够复制过去的代码以使其工作。因此,请包括您的进口,删除所有不必要的部分和功能。到目前为止我还不能。只要给我们一段代码,尽可能小的代码,它将生成最简单的图形。感谢您的关注,但是紧凑的布局不起作用。你必须仔细观察才能知道要加多少垫子,这正是我想要避免的。如果在下表中添加一行,它会真正改变焊盘,然后尺寸也会改变,这是不可行的。我的问题是,我不知道一个人将拥有多少年的数据。它可能是1到10,所以我需要动态修改。
plt.tight_layout(h_pad=2)