Detailed API documentation

The main user-facing function is corner.corner() but the lower level functions corner.hist2d() and corner.quantile() are also documented here.

corner.corner(xs, bins=20, range=None, weights=None, color='k', hist_bin_factor=1, smooth=None, smooth1d=None, labels=None, label_kwargs=None, show_titles=False, title_fmt='.2f', title_kwargs=None, truths=None, truth_color='#4682b4', scale_hist=False, quantiles=None, verbose=False, fig=None, max_n_ticks=5, top_ticks=False, use_math_text=False, reverse=False, hist_kwargs=None, **hist2d_kwargs)

Make a sick corner plot showing the projections of a data set in a multi-dimensional space. kwargs are passed to hist2d() or used for matplotlib styling.

  • xs (array_like[nsamples, ndim]) – The samples. This should be a 1- or 2-dimensional array. For a 1-D array this results in a simple histogram. For a 2-D array, the zeroth axis is the list of samples and the next axis are the dimensions of the space.
  • bins (int or array_like[ndim,]) – The number of bins to use in histograms, either as a fixed value for all dimensions, or as a list of integers for each dimension.
  • weights (array_like[nsamples,]) – The weight of each sample. If None (default), samples are given equal weight.
  • color (str) – A matplotlib style color for all histograms.
  • hist_bin_factor (float or array_like[ndim,]) – This is a factor (or list of factors, one for each dimension) that will multiply the bin specifications when making the 1-D histograms. This is generally used to increase the number of bins in the 1-D plots to provide more resolution.
  • smooth1d (smooth,) – The standard deviation for Gaussian kernel passed to scipy.ndimage.gaussian_filter to smooth the 2-D and 1-D histograms respectively. If None (default), no smoothing is applied.
  • labels (iterable (ndim,)) – A list of names for the dimensions. If a xs is a pandas.DataFrame, labels will default to column names.
  • label_kwargs (dict) – Any extra keyword arguments to send to the set_xlabel and set_ylabel methods.
  • show_titles (bool) – Displays a title above each 1-D histogram showing the 0.5 quantile with the upper and lower errors supplied by the quantiles argument.
  • title_fmt (string) – The format string for the quantiles given in titles. If you explicitly set show_titles=True and title_fmt=None, the labels will be shown as the titles. (default: .2f)
  • title_kwargs (dict) – Any extra keyword arguments to send to the set_title command.
  • range (iterable (ndim,)) – A list where each element is either a length 2 tuple containing lower and upper bounds or a float in range (0., 1.) giving the fraction of samples to include in bounds, e.g., [(0.,10.), (1.,5), 0.999, etc.]. If a fraction, the bounds are chosen to be equal-tailed.
  • truths (iterable (ndim,)) – A list of reference values to indicate on the plots. Individual values can be omitted by using None.
  • truth_color (str) – A matplotlib style color for the truths makers.
  • scale_hist (bool) – Should the 1-D histograms be scaled in such a way that the zero line is visible?
  • quantiles (iterable) – A list of fractional quantiles to show on the 1-D histograms as vertical dashed lines.
  • verbose (bool) – If true, print the values of the computed quantiles.
  • plot_contours (bool) – Draw contours for dense regions of the plot.
  • use_math_text (bool) – If true, then axis tick labels for very large or small exponents will be displayed as powers of 10 rather than using e.
  • reverse (bool) – If true, plot the corner plot starting in the upper-right corner instead of the usual bottom-left corner
  • max_n_ticks (int) – Maximum number of ticks to try to use
  • top_ticks (bool) – If true, label the top ticks of each axis
  • fig (matplotlib.Figure) – Overplot onto the provided figure object.
  • hist_kwargs (dict) – Any extra keyword arguments to send to the 1-D histogram plots.
  • **hist2d_kwargs – Any remaining keyword arguments are sent to corner.hist2d to generate the 2-D histogram plots.
corner.hist2d(x, y, bins=20, range=None, weights=None, levels=None, smooth=None, ax=None, color=None, quiet=False, plot_datapoints=True, plot_density=True, plot_contours=True, no_fill_contours=False, fill_contours=False, contour_kwargs=None, contourf_kwargs=None, data_kwargs=None, **kwargs)

Plot a 2-D histogram of samples.

  • x (array_like[nsamples,]) – The samples.
  • y (array_like[nsamples,]) – The samples.
  • quiet (bool) – If true, suppress warnings for small datasets.
  • levels (array_like) – The contour levels to draw.
  • ax (matplotlib.Axes) – A axes instance on which to add the 2-D histogram.
  • plot_datapoints (bool) – Draw the individual data points.
  • plot_density (bool) – Draw the density colormap.
  • plot_contours (bool) – Draw the contours.
  • no_fill_contours (bool) – Add no filling at all to the contours (unlike setting fill_contours=False, which still adds a white fill at the densest points).
  • fill_contours (bool) – Fill the contours.
  • contour_kwargs (dict) – Any additional keyword arguments to pass to the contour method.
  • contourf_kwargs (dict) – Any additional keyword arguments to pass to the contourf method.
  • data_kwargs (dict) – Any additional keyword arguments to pass to the plot method when adding the individual data points.
corner.quantile(x, q, weights=None)

Compute sample quantiles with support for weighted samples.


When weights is None, this method simply calls numpy’s percentile function with the values of q multiplied by 100.

  • x (array_like[nsamples,]) – The samples.
  • q (array_like[nquantiles,]) – The list of quantiles to compute. These should all be in the range [0, 1].
  • weights (Optional[array_like[nsamples,]]) – An optional weight corresponding to each sample. These

quantiles – The sample quantiles computed at q.

Return type:



ValueError – For invalid quantiles; q not in [0, 1] or dimension mismatch between x and weights.