Make some beautiful corner plots of samples.
Project description
Make some beautiful corner plots.
- Corner plot /ˈkôrnər plät/ (noun):
An illustrative representation of different projections of samples in high dimensional spaces. It is awesome. I promise.
Built by Dan Foreman-Mackey and collaborators (see corner.__contributors__ for the most up to date list). Licensed under the 2-clause BSD license (see LICENSE).
Installation
Just run
pip install corner
to get the most recent stable version.
Usage
The main entry point is the corner.corner function. You’ll just use it like this:
import numpy as np import corner ndim, nsamples = 5, 10000 samples = np.random.randn(ndim * nsamples).reshape([nsamples, ndim]) figure = corner.corner(samples) figure.savefig("corner.png")
With some other tweaks (see demo.py) you can get something that looks awesome like:
By default, data points are shown as grayscale points with contours. Contours are shown at 0.5, 1, 1.5, and 2 sigma.
For more usage examples, take a look at tests.py.
Documentation
All the options are documented in the docstrings for the corner and hist2d functions. These can be viewed in a Python shell using:
import corner print(corner.corner.__doc__)
or, in IPython using:
import corner corner.corner?
A note about “sigmas”
We are regularly asked about the “sigma” levels in the 2D histograms. These are not the 68%, etc. values that we’re used to for 1D distributions. In two dimensions, a Gaussian density is given by:
pdf(r) = exp(-(r/s)^2/2) / (2*pi*s^2)
The integral under this density is:
cdf(x) = Integral(r * exp(-(r/s)^2/2) / s^2, {r, 0, x}) = 1 - exp(-(x/s)^2/2)
This means that within “1-sigma”, the Gaussian contains 1-exp(-0.5) ~ 0.393 or 39.3% of the volume. Therefore the relevant 1-sigma levels for a 2D histogram of samples is 39% not 68%. If you must use 68% of the mass, use the levels keyword argument.
The “sigma-demo” notebook visually demonstrates the difference between these choices of levels.
Attribution
If you make use of this code, please cite it.
License
Copyright 2013, 2014 Dan Foreman-Mackey
corner.py is free software made available under the BSD License. For details see the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file corner-1.0.2.tar.gz
.
File metadata
- Download URL: corner-1.0.2.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 605ecd9c383bfc00e591b309124dc6ec85c9f5b0816b251043837b3a00bc28d6 |
|
MD5 | e2f4f62fe836dd4866c3bb65480832e6 |
|
BLAKE2b-256 | ca253e44f38c62bbb323e14693b8a6423e27f1c46519ba3d0ebdfc8f0d13abd3 |