From: Tony Yu <ts...@gm...> - 2013-07-21 01:07:47
|
On Sat, Jul 20, 2013 at 4:47 PM, Chris Beaumont <bea...@ha...> wrote: > Hi, > > I thought I'd chime in on this discussion -- Adrian Price-Whelan and I put > together plotornot during the SciPy sprints. > > I wouldn't advocate for linking to plotornot from matplotlib -- the idea > is semi tongue-in-cheek, and meant to gauge to what extent there is > consensus about plot styles. It's not set up to teach about rcParams, nor > does it systematically explore all possible styles. The votes (>10K, last I > checked) are saved, and eventually Adrian or I will look over the feedback > and report back to you all. I haven't had time for that yet. I hope the > name didn't *actually* offend anyone. > > At the risk of sounding unappreciative of MPL (which I love, and rely upon > daily), I must admit I was disheartened after hearing the MPL devs at SciPy > discuss styles and defaults. I understand that you don't want to change the > default styles without a clearly better alternative. I also understand > that, to some extent, style preferences are subjective. However, there > seemed to be quite a bit of resistance to the idea that MPL defaults should > change *at all.* > > Even if you ignore the subjective component of this (which I think is a > mistake, since in my experience there is broad consensus that projects like > ggplot2, d3, tableau, and spotfire do a "better" job than MPL at styling), > there are some well-established visual principles that matplotlib violates. > Some of my biggest pet peeves are: > > 1) The default 'axes.color_cycle' values should be equally visible, with > similar luminance values. The current defaults (bgrcmyk) do not have this > property -- c and y are harder to see, and thus carry less visual emphasis. > A color table like the "Dark2" color brewer table ( > http://learnr.files.wordpress.com/2009/04/colours-dark2.png, > colorbrewer2.org) is more uniform, and carefully designed for visibility > and contrast. 'rgbcmyk' is clearly an arbitrary choice -- why not use a > smarter default? > > 2) The default 'jet' colormap for images has a lot of poor properties > (which is even mentioned on the MPL docs at > http://matplotlib.org/api/pyplot_summary.html#id1). The brain is bad at > ordering changes in hue (which is bigger -- purple or yellow?), and better > at ordering changes in intensity or saturation. A colleague of mine > designed a visualization tool for doctors, and found that the rainbow color > table had a dramatic negative effect on the effectiveness of the tool (you > can watch her TED talk about this at > https://www.youtube.com/watch?v=kU7veyGGps4&t=440s). The jet default is > especially frustrating, since it *cannot* be modified via rcParams > Jet is terrible for so many reasons, but it can be modified (unless I misunderstand): image.cmap : gray I'm all for changing the current defaults. Cheers, -Tony |