docs: def plot(self, x, row_order=None, imshow_kwargs=None, strip=True):
          """
          Plot the scaled ChIP-seq data.
  
          :param x: X-axis to use (e.g, for TSS +/- 1kb with 100 bins, this would
              be `np.linspace(-1000, 1000, 100)`)
          :param row_order: Array-like object containing row order -- typically
              the result of an `np.argsort` call.
          :param strip: Include axes along the left side with points that can be
              clicked to spawn a minibrowser for that feature.
          """
          nrows = self.diffed_array.shape[0]
          if row_order is None:
              row_order = np.arange(nrows)
          extent = (min(x), max(x), 0, nrows)
          axes_info = metaseq.plotutils.matrix_and_line_shell(strip=strip)
          fig, matrix_ax, line_ax, strip_ax, cbar_ax = axes_info
          _imshow_kwargs = dict(
              aspect='auto', extent=extent, interpolation='nearest')
          if imshow_kwargs:
              _imshow_kwargs.update(imshow_kwargs)
  
          if 'cmap' not in _imshow_kwargs:
              _imshow_kwargs['cmap'] = metaseq.colormap_adjust.smart_colormap(
                  self.diffed_array.min(),
                  self.diffed_array.max()
              )
          mappable = matrix_ax.imshow(
              self.diffed_array[row_order],
              **_imshow_kwargs)
          plt.colorbar(mappable, cbar_ax)
          line_ax.plot(x, self.diffed_array.mean(axis=0))
          if strip_ax:
              line, = strip_ax.plot(np.zeros((nrows,)), np.arange(nrows) + 0.5,
                                    **self._strip_kwargs)
              line.features = self.features
              line.ind = row_order
  
          matrix_ax.axis('tight')
          if strip_ax:
              strip_ax.xaxis.set_visible(False)
              matrix_ax.yaxis.set_visible(False)
  
          matrix_ax.xaxis.set_visible(False)
  
          if self.db:
              self.minibrowser = GeneChipseqMiniBrowser(
                  [self.ip, self.control],
                  db=self.db,
                  plotting_kwargs=self.browser_plotting_kwargs,
                  local_coverage_kwargs=self.browser_local_coverage_kwargs)
          else:
              self.minibrowser = SignalChipseqMiniBrowser(
                  [self.ip, self.control],
                  plotting_kwargs=self.browser_plotting_kwargs,
                  local_coverage_kwargs=self.browser_local_coverage_kwargs)
  
          fig.canvas.mpl_connect('pick_event', self.callback)
  
          self.fig = fig
          self.axes = {
              'matrix_ax': matrix_ax,
              'strip_ax': strip_ax,
              'line_ax': line_ax,
              'cbar_ax': cbar_ax
          }