From: Phil E. <pel...@gm...> - 2014-11-21 17:32:44
|
Many of you will be aware of there has been an ongoing issue (#875, http://goo.gl/xLZvuL) which recommends the removal of Jet as the default colormap in matplotlib. The argument against Jet is compelling and I think that as a group who care about high quality visualisation we should be seriously discussing how matplotlib can move beyond Jet. There was recently an open letter to the climate science community <http://www.climate-lab-book.ac.uk/2014/end-of-the-rainbow/> asking for scientists to "pledge" against using rainbow like colormaps (such as Jet), and there are similar initiatives in other scientific fields, as well as there being a plethora of well researched literature on the subject. As such, it's time to agree on a solution on how matplotlib can reach the end of the rainbow. The two major hurdles, AFAICS, to replacing the three little characters which control the default colormap of matplotlib are: * We haven't had a clear (decisive) discussion about what we should replace Jet with. * There are concerns about changing the default as it would change the existing widespread behaviour. To address the first point I'll start a new mailinglist thread (entitled "Matplotlib's new default colormap") where new default colormap suggestions can be made. The thread should strictly avoid "+1" type comments, and generally try to stick to reference-able/demonstrable fact, rather than opinion. There *will* be a difference of opinion, however the final decision has to come down to the project lead (sorry Mike) who I know will do whatever is necessary to make the best choice for matplotlib. The second point is a reasonable response when we consider that matplotlib as a project has no *clear* statement on backwards compatibility. As a result, matplotlib is highly change averse between minor releases (to use semantic versioning terms) and therefore changing the default colormap is unpalatable in the v1.x release series. As a result I'd like to propose that the next release of matplotlib be called 2.0, with the *only* major backwards-incompatible change be the removal of Jet as the default colormap. As a project matplotlib mustn't get caught up in the trap of shying away from a major version release when the need arises, and in my opinion helping our users to avoid using a misleading colormap is a worthy cause for a v2.0. Please try to keep this thread on the "how", and not on the "what" of the replacement default colormap, for which there is a dedicated thread. Thanks, Phil (#endrainbow) |