我有一个动态创建不同列和行的数字的函数:
import random
import matplotlib.pyplot as plt
def build_dynamic_plot():
"""Return a figure with random rows and columns."""
nrows = random.randrange(1, 10)
ncols = random.randrange(1, 10)
fig, ax = plt.subplots(nrows, ncols)
return fig.tight_layout()
plot = build_dynamic_plot()
使用matplotlib API,我如何从图中获得动态生成的行数和列数,例如: plot.get_rows
和plot.get_cols
?我最终需要验证按列尺寸的行是否准确。谢谢。
答案 0 :(得分:1)
我认为没有这方面的API,但你可以通过以下方式获得网格大小:
fig.axes[0].get_subplotspec().get_gridspec().get_geometry()
答案 1 :(得分:1)
虽然HYRY的回答很有帮助,但有时可能会有效(或之前有效),但真正的解决办法应该是:
fig.axes[0].get_subplotspec().get_topmost_subplotspec().get_gridspec().get_geometry()