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
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)