【问题标题】:Is it possible to get GridSpec from Figure before adding Axes?是否可以在添加 Axes 之前从 Figure 中获取 GridSpec?
【发布时间】:2022-11-24 03:02:01
【问题描述】:

考虑以下代码

from matplotlib import pyplot as plt

fig = plt.figure()
grid = fig.add_gridspec(2,2)

我们有 grid 是一个 GridSpec 实例。

现在考虑以下代码

from matplotlib import pyplot as plt

fig = plt.figure()
fig.add_gridspec(2,2)

检索与我发现的 fig 关联的 GridSpec 的唯一方法是使用我发布的第一个代码 sn-p 或先添加 Subplot,然后从这样的 Subplot 中获取 GridSpec :

axes = fig.add_subplot(grid[0])
grid = axes.get_gridspec()

但是如果我想在添加任何Subplot之前直接从fig获取GridSpec怎么办?

可能吗?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    这是定义 add_gridspec 方法的代码:

        def add_gridspec(self, nrows=1, ncols=1, **kwargs):
            """
            ...
            """
            _ = kwargs.pop('figure', None)  # pop in case user has added this...
            gs = GridSpec(nrows=nrows, ncols=ncols, figure=self, **kwargs)
            self._gridspecs.append(gs)
            return gs
    

    Figure._gridspecs 是 gridspecs 的列表,例如,

    >>> import matplotlib.pyplot as plt
    ... fig = plt.figure()
    ... fig.add_gridspec(2, 2)
    ... fig.add_gridspec(4, 4)
    ... fig._gridspecs
    [GridSpec(2, 2), GridSpec(4, 4)]
    >>>
    

    【讨论】:

      猜你喜欢
      • 2018-04-01
      • 2016-07-02
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多