class_docstr: Implement geometry management for plotnine plots
  
  This layout manager automatically adjusts the location of
  objects placed around the plot panels and the subplot
  spacing parameters so that the plot fits cleanly within
  the figure area.
class_docstr_tok: ["Implement","geometry","management","for","plotnine","plots","This","layout","manager","automatically","adjusts","the","location","of","objects","placed","around","the","plot","panels","and","the","subplot","spacing","parameters","so","that","the","plot","fits","cleanly","within","the","figure","area","."]
code: def execute(self, fig: Figure):
      from contextlib import nullcontext
  
      from ._plotnine_tight_layout import (
          get_plotnine_tight_layout,
          set_figure_artist_positions,
      )
  
      pack = self.pack_information()
  
      with getattr(pack.renderer, "_draw_disabled", nullcontext)():
          tparams = get_plotnine_tight_layout(pack)
  
      set_figure_artist_positions(pack, tparams)
      fig.subplots_adjust(**asdict(tparams.grid))
  
file_path: plotnine/plotnine/_mpl/layout_engine.py
imports: from __future__ import annotations
  import typing
  from dataclasses import asdict, dataclass
  from matplotlib.layout_engine import LayoutEngine
  from matplotlib.text import Text
label_desc: Use image node_id 2 for calling the PlotnineLayoutEngine obj's underlying member method code with example usage: obj.execute(fig) without return types