/prettyplotlib

Painlessly create beautiful matplotlib plots.

Primary LanguagePythonMIT LicenseMIT

Announcement

Thank you to everyone who has used prettyplotlib and made it what it is today! Unfortunately, I no longer have the bandwidth to maintain prettyplotlib. I recommend using seaborn. Using seaborn, to get the prettyplotlib style, do:

import seaborn as sns
sns.set(style='ticks', palette='Set2')

And to remove "chartjunk", do:

sns.despine()

If you have discrete pull requests, I will accept them, but I personally will no longer fix bugs.

If you are a biological scientist looking for ways to analyze your big-ish (20+ samples) data, check out my main project, flotilla.

Build Status

prettyplotlib

Python matplotlib-enhancer library which painlessly creates beautiful default matplotlib plots. Inspired by Edward Tufte's work on information design and Cynthia Brewer's work on color perception.

I truly believe that scientific progress is impeded when improper data visualizations are used. I spent a lot of time tweaking my figures to make them more understandable, and realized the scientific world could be a better place if the default parameters for plotting libraries followed recent advances in information design research. And thus prettyplotlib was born.

Requirements:

  • matplotlib. Can be installed via pip install matplotlib or easy_install matplotlib
  • brewer2mpl. Can be installed via pip install brewer2mpl or easy_install brewer2mpl

Comparison to matplotlib

matplotlib default plot
prettyplotlib default plot
matplotlib default scatter
prettyplotlib default scatter
matplotlib default bar
prettyplotlib default bar
matplotlib default hist
prettyplotlib default hist
matplotlib default hist
with grid
prettyplotlib default hist
with grid
matplotlib default boxplot
prettyplotlib default boxplot
matplotlib default pcolormesh
positive and negative data
prettyplotlib default pcolormesh
positive and negative data
matplotlib default pcolormesh
positive data only
prettyplotlib default pcolormesh
positive data only
matplotlib pcolormesh
negative-valued data with labels
prettyplotlib pcolormesh
negative-valued data with labels

Quotes

"Dis ain't no uglyplotlib" - Anonymous