docs: def _apply_labels(
          self, autolabel="none", xlabel=None, ylabel=None, data=None, channel_index=0
      ):
          """Apply x and y labels to axes.
  
          Parameters
          ----------
          autolabel : {'none', 'both', 'x', 'y'} (optional)
              Label(s) to apply from data. Default is none.
          xlabel : string (optional)
              x label. Default is None.
          ylabel : string (optional)
              y label. Default is None.
          data : WrightTools.data.Data object (optional)
              data to read labels from. Default is None.
          channel_index : integer (optional)
              Channel index. Default is 0.
          """
          # read from data
          if autolabel in ["xy", "both", "x"] and not xlabel:
              xlabel = data.axes[0].label
          if autolabel in ["xy", "both", "y"] and not ylabel:
              if data.ndim == 1:
                  ylabel = data.channels[channel_index].label
              elif data.ndim == 2:
                  ylabel = data.axes[1].label
          # apply
          if xlabel:
              if isinstance(xlabel, bool):
                  xlabel = data.axes[0].label
              self.set_xlabel(xlabel, fontsize=18)
          if ylabel:
              if isinstance(ylabel, bool):
                  ylabel = data.axes[1].label
              self.set_ylabel(ylabel, fontsize=18)