You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Several years ago matplotlib shifted from using the colormap jet as its default, which was a legacy from when it imitated MATLAB.
jet is an extremely flawed and problematic colormap that should be avoided if possible (see below for details).
Matplotlib's change was precipitated by MATLAB shifting their default to parula, a more perceptually uniform colormap, for the above reasons. MATLAB copyrighted this colormap so matplotlib couldn't use it, as such they devised their own default and made it freely available to anyone, and everyone, who wishes to use it, viridis.
Matplotlib have detailed their logic in changing away from jet and choosing viridis in a great talk I would recommend watching, which can be found here. There is also a blog post to go along with it, which can be read here.
The issue
jet is not perceptually uniform; the rate of change of data is not proportional to the rate of change of lightness of color, in fact it is quite non-linear. In addition it is not color-blind friendly. jet distorts data.
We should stop using jet as our default and shift to either viridis, (because viridis is the chosen default of matplotlib, bringing us in line with them), or to coolwarm. coolwarm should be considered because there has been research into which colormap looks best in 3D space, and divergent colormaps are generally considered superior. coolwarm is considered the best of the divergent colormaps (see here for details).
coolwarm is the default in Paraview for comparison.
Blog post, with real example of how ‘rainbow’ misleads - Robert Kosara, Senior Research Scientist at Tableau Software and formerly Associate Professor of Computer Science at UNC Charlotte
Rainbow Color Map (Still) Considered Harmful’ in IEEE Computer Graphics and Applications, vol. 27, no. 2, pp. 14-17, March-April 2007.
"Evaluation of Artery Visualizations for Heart Disease Diagnosis", Frank Rybicki, Simone Melchionna, Michelle Borkin, Hanspeter Pfister, Charles Feldman, Dimitrios Mitsouras, Krzysztof Gajos, Amanda Peters, IEEE Transactions on Visualization & Computer Graphics vol. 17 no. undefined, p. 2479-2488, Dec., 2011
‘Using color to code quantity in spatial displays.’ Spence, Ian; Kutlesa, Natasha; Rose, David L. Journal of Experimental Psychology: Applied, Vol 5(4), Dec 1999, 393-412
Rainbow Color Map Critiques: An Overview and Annotated Bibliography By Steve Eddins, MathWorks *
"Data visualization: the end of the rainbow," B. E. Rogowitz and L. A. Treinish, in IEEE Spectrum, vol. 35, no. 12, pp. 52-59, Dec 1998.
Diverging color maps for scientific visualization - K. Moreland 2009, pp 92-103
ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps, The Cartographic Journal, 2003, pp 21-37
The text was updated successfully, but these errors were encountered:
I don't like jet either, but it's something that Ansys loves using. I'm curious what other users want as default, but in general, I agree with your findings.
Several years ago matplotlib shifted from using the colormap jet as its default, which was a legacy from when it imitated MATLAB.
jet is an extremely flawed and problematic colormap that should be avoided if possible (see below for details).
Matplotlib's change was precipitated by MATLAB shifting their default to parula, a more perceptually uniform colormap, for the above reasons. MATLAB copyrighted this colormap so matplotlib couldn't use it, as such they devised their own default and made it freely available to anyone, and everyone, who wishes to use it, viridis.
Matplotlib have detailed their logic in changing away from jet and choosing viridis in a great talk I would recommend watching, which can be found here. There is also a blog post to go along with it, which can be read here.
The issue
jet
is not perceptually uniform; the rate of change of data is not proportional to the rate of change of lightness of color, in fact it is quite non-linear. In addition it is not color-blind friendly.jet
distorts data.We should stop using jet as our default and shift to either viridis, (because viridis is the chosen default of matplotlib, bringing us in line with them), or to
coolwarm
.coolwarm
should be considered because there has been research into which colormap looks best in 3D space, and divergent colormaps are generally considered superior.coolwarm
is considered the best of the divergent colormaps (see here for details).coolwarm
is the default in Paraview for comparison.Online resources
https://eagereyes.org/basics/rainbow-color-map
https://root.cern.ch/rainbow-color-map
http://matplotlib.org/users/colormaps.html
https://mycarta.wordpress.com/2012/05/29/the-rainbow-is-dead-long-live-the-rainbow-series-outline/
http://www.scribblelive.com/blog/2011/12/07/the-use-of-yellow-in-data-design/
http://earthobservatory.nasa.gov/blogs/elegantfigures/2013/08/05/subtleties-of-color-part-1-of-6/
Literature
Rainbow Color Map (Still) Considered Harmful’ in IEEE Computer Graphics and Applications, vol. 27, no. 2, pp. 14-17, March-April 2007.
"Evaluation of Artery Visualizations for Heart Disease Diagnosis", Frank Rybicki, Simone Melchionna, Michelle Borkin, Hanspeter Pfister, Charles Feldman, Dimitrios Mitsouras, Krzysztof Gajos, Amanda Peters, IEEE Transactions on Visualization & Computer Graphics vol. 17 no. undefined, p. 2479-2488, Dec., 2011
‘Using color to code quantity in spatial displays.’ Spence, Ian; Kutlesa, Natasha; Rose, David L. Journal of Experimental Psychology: Applied, Vol 5(4), Dec 1999, 393-412
Rainbow Color Map Critiques: An Overview and Annotated Bibliography By Steve Eddins, MathWorks *
"Data visualization: the end of the rainbow," B. E. Rogowitz and L. A. Treinish, in IEEE Spectrum, vol. 35, no. 12, pp. 52-59, Dec 1998.
Diverging color maps for scientific visualization - K. Moreland 2009, pp 92-103
ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps, The Cartographic Journal, 2003, pp 21-37
The text was updated successfully, but these errors were encountered: