docs: def plot_mixing_lines(self, p=None, rv=None, **kwargs):
          r'''Plot lines of constant mixing ratio.
  
          Adds lines of constant mixing ratio (isohumes) to the
          plot. The default style of these lines is dashed green lines with an
          alpha value of 0.8. These can be overridden using keyword arguments.
  
          Parameters
          ----------
          rv : array_like, optional
              1-dimensional array of unitless mixing ratio values to plot. If
              none are given, default values are used.
          p : array_like, optional
              1-dimensional array of pressure values to be included in the
              isohumes. If not specified, they will be linearly distributed
              across the current plotted pressure range.
          kwargs
              Other keyword arguments to pass to
              `matplotlib.collections.LineCollection`
  
          See Also
          --------
          `matplotlib.collections.LineCollection`
          '''
          for artist in self._mixing_lines:
              artist.remove()
          self._mixing_lines = []
  
          # Default mixing level values if necessary
          if rv is None:
              rv = np.array([
                  0.1e-3, 0.2e-3, 0.5e-3, 1e-3, 1.5e-3, 2e-3, 3e-3, 4e-3, 6e-3,
                  8e-3, 10e-3, 12e-3, 15e-3, 20e-3, 30e-3, 40e-3,
                  50e-3]).reshape(-1, 1)
          else:
              rv = np.asarray(rv).reshape(-1, 1)
  
          # Set pressure range if necessary
          if p is None:
              p = np.linspace(min(self.get_ylim()), max(self.get_ylim()))
          else:
              p = np.asarray(p)
  
          # Assemble data for plotting
          Td = calculate(
              'Td', p=p, rv=rv, p_units='hPa', rv_units='kg/kg',
              Td_units='degC')
          Td_label = calculate('Td', p=550, p_units='hPa', rv=rv,
                               Td_units='degC')
          linedata = [np.vstack((t, p)).T for t in Td]
  
          # Add to plot
          kwargs.setdefault('clip_on', True)
          kwargs.setdefault('colors', '#166916')
          kwargs.setdefault('linestyles', '--')
          kwargs.setdefault('alpha', 1)
          kwargs.setdefault('linewidth', 0.5)
          kwargs.setdefault('zorder', 1.1)
          collection = LineCollection(linedata, **kwargs)
          self._mixing_lines.append(collection)
          self.add_collection(collection)
          rv = rv.flatten() * 1000
          for i in range(len(rv)):
              if rv[i] < 1:
                  format_string = '{:.1f}'
              else:
                  format_string = '{:.0f}'
              t = self.text(Td_label[i], 550, format_string.format(rv[i]),
                            fontsize=8, ha='right', va='center', rotation=60,
                            color='#166916', bbox={
                                'facecolor': 'w', 'edgecolor': 'w', 'alpha': 0,
                                }, zorder=1.2)
              t.set_clip_on(True)
              self._mixing_lines.append(t)