如何从matplotlib图中获取行数和列数?

时间:2016-04-02 03:51:29

标签: python api matplotlib plot

我有一个动态创建不同列和行的数字的函数:

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()

sample output

使用matplotlib API,我如何从图中获得动态生成的行数和列数,例如: plot.get_rowsplot.get_cols?我最终需要验证按列尺寸的行是否准确。谢谢。

2 个答案:

答案 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()