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","."]
docstr: Put together objects required to do the layout
docstr_tok: ["Put","together","objects","required","to","do","the","layout"]
code: def pack_information(self) -> LayoutPack:
      """
      Put together objects required to do the layout
      """
      _property = self.plot.theme.themeables.property
      is_blank = self.plot.theme.themeables.is_blank
      get_target = self._theme_targets.get
  
      def get(th: str) -> Any:
          """
          Return themeable target or None
          """
          if is_blank(th):
              return None
          else:
              t = get_target(th, None)
              if isinstance(t, Text) and t.get_text() == "":
                  return None
              return t
  
      legend_position = _property("legend_position")
      if legend_position in ("none", "None"):
          legend_position = None
  
      return LayoutPack(
          axs=self.plot.axs,
          figure=self.plot.figure,
          renderer=self.plot.figure._get_renderer(),  # pyright: ignore
          theme=self.plot.theme,
          facet=self.plot.facet,
          axis_title_x=get("axis_title_x"),
          axis_title_y=get("axis_title_y"),
          legend=get_target("legend_background"),
          legend_position=legend_position,
          plot_caption=get("plot_caption"),
          plot_subtitle=get("plot_subtitle"),
          plot_title=get("plot_title"),
      )
  
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 3 for calling the PlotnineLayoutEngine obj's underlying member method code with example usage: obj.pack_information() and returns: LayoutPack, None, t, None