code: def pretty_subplot(nrows, ncols, width=None, height=None, sharex=True,
                     sharey=True, dpi=None, plt=None, gridspec_kw=None):
      
  
      if width is None:
          width = rcParams['figure.figsize'][0]
      if height is None:
          height = rcParams['figure.figsize'][1]
  
      # TODO: Make this work if plt is already set...
      if plt is None:
          plt = matplotlib.pyplot
          plt.subplots(nrows, ncols, sharex=sharex, sharey=sharey, dpi=dpi,
                       figsize=(width, height), facecolor='w',
                       gridspec_kw=gridspec_kw)
  
      return plt
docs: Get a :obj:`matplotlib.pyplot` subplot object with pretty defaults.
  
      Args:
          nrows (int): The number of rows in the subplot.
          ncols (int): The number of columns in the subplot.
          width (:obj:`float`, optional): The width of the plot.
          height (:obj:`float`, optional): The height of the plot.
          sharex (:obj:`bool`, optional): All subplots share the same x-axis.
              Defaults to ``True``.
          sharey (:obj:`bool`, optional): All subplots share the same y-axis.
              Defaults to ``True``.
          dpi (:obj:`int`, optional): The dots-per-inch (pixel density) for
              the plot.
          plt (:obj:`matplotlib.pyplot`, optional): A :obj:`matplotlib.pyplot`
              object to use for plotting.
          gridspec_kw (:obj:`dict`, optional): Gridspec parameters. Please see:
              :obj:`matplotlib.pyplot.subplot` for more information. Defaults
              to ``None``.
  
      Returns:
          :obj:`matplotlib.pyplot`: A :obj:`matplotlib.pyplot` subplot object
          with publication ready defaults set.