class_docstr: Visualize Multiple-dimensional data
  
  This class enables the visualization of multi-dimensional data, using
  a triangular grid of 2D plots.
  
  Parameters
  ----------
  ndim : integer
      Number of data dimensions
  inner_labels : bool
      If true, then label the inner axes.  If false, then only the outer
      axes will be labeled
  fig : matplotlib.Figure
      if specified, draw the plot on this figure.  Otherwise, use the
      current active figure.
  left, bottom, right, top, wspace, hspace : floats
      these parameters control the layout of the plots.  They behave have
      an identical effect as the arguments to plt.subplots_adjust.  If not
      specified, default values from the rc file will be used.
  
  Examples
  --------
  A grid of scatter plots can be created as follows::
  
      x = np.random.normal((4, 1000))
      R = np.random.random((4, 4))  # projection matrix
      x = np.dot(R, x)
      ax = MultiAxes(4)
      ax.scatter(x)
      ax.set_labels(['x1', 'x2', 'x3', 'x4'])
  
  Alternatively, the scatter plot can be visualized as a density::
  
      ax = MultiAxes(4)
      ax.density(x, bins=[20, 20, 20, 20])
docstr: Set the axes labels
  
  Parameters
  ----------
  labels : list of strings
      a list of plot limits for each dimension.  The length of `labels`
      should match the data dimension.
docstr_tok: ["Set","the","axes","labels","Parameters","--","--","--","--","--","labels",":","list","of","strings","a","list","of","plot","limits","for","each","dimension",".","The","length","of","`","labels","`","should","match","the","data","dimension","."]
code: def set_labels(self, labels):
      """Set the axes labels
  
      Parameters
      ----------
      labels : list of strings
          a list of plot limits for each dimension.  The length of `labels`
          should match the data dimension.
      """
      if len(labels) != self.ndim:
          raise ValueError("labels do not match number of dimensions")
  
      for i in range(self.ndim):
          ax = self.axes[i, self.ndim - 1]
          if ax is not None:
              ax.set_xlabel(labels[i])
  
      for j in range(self.ndim):
          ax = self.axes[0, j]
          if ax is not None:
              ax.set_ylabel(labels[j])
  
file_path: astroML/astroML/plotting/multiaxes.py
imports: from copy import deepcopy
  import numpy
label_desc: Use image node_id 6 for calling the MultiAxes obj's underlying member method code with example usage: obj.set_labels(labels) without return types