class_docstr: Base class for all facets
  
  Parameters
  ----------
  scales :
      Whether `x` or `y` scales should be allowed (free)
      to vary according to the data on each of the panel.
  shrink :
      Whether to shrink the scales to the output of the
      statistics instead of the raw data. Default is `True`.
  labeller :
      How to label the facets. A string value if it should be
      one of `["label_value", "label_both", "label_context"]`{.py}.
  as_table :
      If `True`, the facets are laid out like a table with
      the highest values at the bottom-right. If `False`
      the facets are laid out like a plot with the highest
      value a the top-right
  drop :
      If `True`, all factor levels not used in the data
      will automatically be dropped. If `False`, all
      factor levels will be shown, regardless of whether
      or not they appear in the data.
  dir :
      Direction in which to layout the panels. `h` for
      horizontal and `v` for vertical.
class_docstr_tok: ["Base","class","for","all","facets","Parameters","--","--","--","--","--","scales",":","Whether","`","x","`","or","`","y","`","scales","should","be","allowed","(","free",")","to","vary","according","to","the","data","on","each","of","the","panel",".","shrink",":","Whether","to","shrink","the","scales","to","the","output","of","the","statistics","instead","of","the","raw","data",".","Default","is","`","True","`",".","labeller",":","How","to","label","the","facets",".","A","string","value","if","it","should","be","one","of","`","[","``","label_value","''",",","``","label_both","''",",","``","label_context","''","]","`","{",".py","}",".","as_table",":","If","`","True","`",",","the","facets","are","laid","out","like","a","table","with","the","highest","values","at","the","bottom-right",".","If","`","False","`","the","facets","are","laid","out","like","a","plot","with","the","highest","value","a","the","top-right","drop",":","If","`","True","`",",","all","factor","levels","not","used","in","the","data","will","automatically","be","dropped",".","If","`","False","`",",","all","factor","levels","will","be","shown",",","regardless","of","whether","or","not","they","appear","in","the","data",".","dir",":","Direction","in","which","to","layout","the","panels",".","`","h","`","for","horizontal","and","`","v","`","for","vertical","."]
docstr: Create and return Matplotlib axes
docstr_tok: ["Create","and","return","Matplotlib","axes"]
code: def make_axes(
      self, figure: Figure, layout: pd.DataFrame, coordinates: Coord
  ) -> list[Axes]:
      """
      Create and return Matplotlib axes
      """
      axs = self._create_subplots(figure, layout)
  
      # Used for labelling the x and y axes, the first and
      # last axes according to how MPL creates them.
      self.first_ax = figure.axes[0]
      self.last_ax = figure.axes[-1]
      self.figure = figure
      self.axs = axs
      return axs
  
imports: from __future__ import annotations
  import itertools
  import types
  import typing
  from copy import copy, deepcopy
  import numpy
  import pandas
  import pandas.api.types
  from .._utils import cross_join, match
  from ..exceptions import PlotnineError
  from ..scales.scales import Scales
  from .strips import Strips
label_desc: Use image node_id 15 for calling the facet obj's underlying member method code with example usage: obj.make_axes(figure, layout, coordinates) and returns: axs