code: def plot(
          self,
          ax=None,
          title=None,
          figsize=None,
          with_candidates=False,
          candidate_alpha=None,
          temp_range=None,
      ):
          
          try:
              import matplotlib.pyplot as plt
          except ImportError:  # pragma: no cover
              raise ImportError("matplotlib is required for plotting.")
  
          if figsize is None:
              figsize = (10, 4)
  
          if ax is None:
              fig, ax = plt.subplots(figsize=figsize)
  
          if temp_range is None:
              temp_range = (20, 90)
  
          if with_candidates:
              for candidate in self.candidates:
                  candidate.plot(ax=ax, temp_range=temp_range, alpha=candidate_alpha)
          self.model.plot(ax=ax, best=True, temp_range=temp_range)
  
          if title is not None:
              ax.set_title(title)
  
          return ax
docs: Plot a model fit.
  
          Parameters
          ----------
          ax : :any:`matplotlib.axes.Axes`, optional
              Existing axes to plot on.
          title : :any:`str`, optional
              Chart title.
          figsize : :any:`tuple`, optional
              (width, height) of chart.
          with_candidates : :any:`bool`
              If True, also plot candidate models.
          candidate_alpha : :any:`float` between 0 and 1
              Transparency at which to plot candidate models. 0 fully transparent,
              1 fully opaque.
  
          Returns
          -------
          ax : :any:`matplotlib.axes.Axes`
              Matplotlib axes.