How We Designed Matplotlib's New Default Colormap (and You Can Too)

Data Science Lecture Series


September 4, 2015
1:00pm to 2:30pm
190 Doe Library
Get Directions

For many years, the default colormap in matplotlib—the most popular Python plotting library—has been the colorful rainbow map called "jet." Such rainbow maps are widely used despite being deficient in many ways: small changes in the data sometimes produce large perceptual differences and vice versa; their lightness gradient is non-monotonic, making visualizations unreadable when printed in black and white; and colorblind viewers find them difficult to read under any circumstances. To fix this, we designed a new colormap called "viridis," which has now been accepted as the new default in matplotlib and has already been ported by users to a variety of other plotting systems, including R/ggplot2, vispy, ParaView, and Matlab.

In this talk, we'll present our new colormap and the theory, tools, data, and motivations behind its design together with a short and friendly tutorial on color theory and colormap design for the working scientist. Plus: an extended digression about guacamole.


Nathaniel Smith

Former BIDS Computational Fellow

Nathaniel Smith was a computational fellow at BIDS, where he divided his time between computationally informed research on human cognition (esp. language processing) and on building better computational tools for researchers in general.