docstr: This is called once when the plot is created to set up all the
  transforms for the data, text and grids.
docstr_tok: ["This","is","called","once","when","the","plot","is","created","to","set","up","all","the","transforms","for","the","data",",","text","and","grids","."]
code: def _set_lim_and_transforms(self):
      """
      This is called once when the plot is created to set up all the
      transforms for the data, text and grids.
      """
      rot = 30
  
      # Get the standard transform setup from the Axes base class
      super()._set_lim_and_transforms()
  
      # Need to put the skew in the middle, after the scale and limits,
      # but before the transAxes. This way, the skew is done in Axes
      # coordinates thus performing the transform around the proper origin
      # We keep the pre-transAxes transform around for other users, like the
      # spines for finding bounds
      self.transDataToAxes = (
          self.transScale
          + self.transLimits
          + transforms.Affine2D().skew_deg(rot, 0)
      )
      # Create the full transform from Data to Pixels
      self.transData = self.transDataToAxes + self.transAxes
  
      # Blended transforms like this need to have the skewing applied using
      # both axes, in axes coords like before.
      self._xaxis_transform = (
          transforms.blended_transform_factory(
              self.transScale + self.transLimits,
              transforms.IdentityTransform(),
          )
          + transforms.Affine2D().skew_deg(rot, 0)
          + self.transAxes
      )
  
imports: from contextlib import ExitStack
  from matplotlib.axes import Axes
  import matplotlib.axis
  from matplotlib.projections import register_projection
  import matplotlib.spines
  import matplotlib.transforms
label_desc: Use image node_id 3 for calling the SkewXAxes obj's underlying member method code with example usage: obj._set_lim_and_transforms() without return types