Consider the following code
from matplotlib import pyplot as plt
fig = plt.figure()
grid = fig.add_gridspec(2,2)
We have that grid is a GridSpec instance.
Consider now the following code
from matplotlib import pyplot as plt
fig = plt.figure()
fig.add_gridspec(2,2)
The only way to retrieve the GridSpec associated to fig that I found is either to use the first code snippet I posted or to add a Subplot first and then get the GridSpec from such a Subplot:
axes = fig.add_subplot(grid[0])
grid = axes.get_gridspec()
But what if I want to get the GridSpec from fig directly and before adding any Subplot?
Is it possible?
CodePudding user response:
This is the code defining the add_gridspec method:
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 is a list of gridspecs, e.g.,
>>> 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)]
>>>
