From: Michael D. <md...@st...> - 2013-07-22 13:55:40
|
Chris, Thanks for outlining some of the issues with the defaults. I agree wholeheartedly and also agree that most of these are simple objective improvements, and have nothing to do with wishy-washy things like "aesthetics". My objections to changing the defaults have nothing to do with the fact that it would be hard to find subjective improvements -- I agree a lot can be done that would be easy to get consensus on. Eric said it better than I could: inevitably there will be users who will be distressed when they upgrade and suddenly find that all their plots--perhaps generated automatically by their cron jobs or web apps--look very different, and perhaps don't even work well with the new defaults. This is why I suggested that the best way forward is to implement some sort of easy styling functionality (like what Tony Yu has submitted in #2236, though I haven't had a chance to look at it yet), and make it explicit for the user to select a new style. This could be either by adding a new line to the top of the plotting script, or adding a single switch in the global matplotlibrc file. But there needs to be an explicit turning on of this. To the extent that some things can't be changed with rcParams, we can address those on a case-by-case basis. Another thing that we could do would be to borrow from the "from __future__ import" concept in Python. Then users could say: style('future') at the top of their script and see what it will look like in the default styling of the next version of matplotlib -- keeping the old defaults as default. Mike On 07/20/2013 05:47 PM, Chris Beaumont 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 <http://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 > > 3) Some of the defaults violate Tufte principles like minimizing > "chart junk." For example, the 'stepfilled' mode for hist is probably > better than the default, which draws vertical lines between every bin. > Those lines make the histogram noisier -- do they convey any extra > information? Again, this can't be tweaked via rcParams. > > Sorry for being long-winded -- I just want to make the case that this > is an important (and not *entirely* subjective) issue. If nothing > else, it would be great to see some clear statement about where the > MPL devs stand on this issue -- what criteria must be met to consider > a change to the defaults? My apologies if such a document already > exists somewhere! > > Cheers, > Chris Beaumont > > > > > > On Sat, Jul 20, 2013 at 3:03 PM, > <mat...@li... > <mailto:mat...@li...>> wrote: > > Send Matplotlib-devel mailing list submissions to > mat...@li... > <mailto:mat...@li...> > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > or, via email, send a message with subject or body 'help' to > mat...@li... > <mailto:mat...@li...> > > You can reach the person managing the list at > mat...@li... > <mailto:mat...@li...> > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Matplotlib-devel digest..." > > > Today's Topics: > > 1. Re: Plot or Not: voting to create better matplotlibrc > (Eric Firing) > 2. Re: How to use STIX fonts in matplotlib plots? (Eric Firing) > 3. Re: Plot or Not: voting to create better matplotlibrc > (Benjamin Root) > 4. Re: How to use STIX fonts in matplotlib plots? (Benjamin Root) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 20 Jul 2013 08:20:11 -1000 > From: Eric Firing <ef...@ha... <mailto:ef...@ha...>> > Subject: Re: [matplotlib-devel] Plot or Not: voting to create better > matplotlibrc > To: mat...@li... > <mailto:mat...@li...> > Message-ID: <51E...@ha... > <mailto:51E...@ha...>> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > On 2013/07/20 4:18 AM, David P. Sanders wrote: > > Hi, > > > > Probably many of you know about "Plot or Not", a site where we > vote on > > the same plot presented in different ways, to get feedback about > better > > matplotlibrc params: > > > > http://warm-escarpment-9042.herokuapp.com/ > > > > It seems to me an absolutely fantastic idea! I think many people > do not > > realise how fantastic the plots can look with some of this modern > > styling. (Styling was mentioned several times at SciPy.) > > > > Would it be possible to put a link to this site on the > matplotlib web > > page and encourage people to use it? > > David, > > Interesting, but I'm not sure this is a good approach. I really don't > see the point of the voting. What I think would be more useful > would be > a set of matplotlibrc files with examples of their effect on at > least a > few plot types. > > > > > Definitely time to update the defaults!! > > Or maybe include a representative set of rcParams combinations to make > it easier for people to choose a design that suits their purpose. > This > could be part of a toolkit. > > Eric > > > > > Best wishes, > > David. > > > > -- > > Dr. David P. Sanders > > > > Profesor Titular "A" / Associate Professor > > Departamento de F?sica, Facultad de Ciencias > > Universidad Nacional Aut?noma de M?xico (UNAM) > > > > dps...@ci... <mailto:dps...@ci...> > <mailto:dps...@ci... > <mailto:dps...@ci...>> > > http://sistemas.fciencias.unam.mx/~dsanders > <http://sistemas.fciencias.unam.mx/%7Edsanders> > > <http://sistemas.fciencias.unam.mx/%7Edsanders> > > > > Cub?culo / office: #414, 4o. piso del Depto. de F?sica > > Tel.: +52 55 5622 4965 <tel:%2B52%2055%205622%204965> > > > > > > > ------------------------------------------------------------------------------ > > See everything from the browser to the database with AppDynamics > > Get end-to-end visibility with application monitoring from > AppDynamics > > Isolate bottlenecks and diagnose root cause in seconds. > > Start your free trial of AppDynamics Pro today! > > > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > > > > > > > _______________________________________________ > > Matplotlib-devel mailing list > > Mat...@li... > <mailto:Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > > > > ------------------------------ > > Message: 2 > Date: Sat, 20 Jul 2013 08:55:37 -1000 > From: Eric Firing <ef...@ha... <mailto:ef...@ha...>> > Subject: Re: [matplotlib-devel] How to use STIX fonts in matplotlib > plots? > To: mat...@li... > <mailto:mat...@li...> > Message-ID: <51E...@ha... > <mailto:51E...@ha...>> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > On 2013/07/20 4:41 AM, David P. Sanders wrote: > > I find the default font used in matplotlib horrible. We should > be able > > to do much better these days. > > Which font is being used as default on your installation? And > what are > the characteristics that earn the rating of "horrible"? > > Eric > > > > ------------------------------ > > Message: 3 > Date: Sat, 20 Jul 2013 14:58:12 -0400 > From: Benjamin Root <ben...@ou... <mailto:ben...@ou...>> > Subject: Re: [matplotlib-devel] Plot or Not: voting to create better > matplotlibrc > To: Eric Firing <ef...@ha... <mailto:ef...@ha...>> > Cc: matplotlib development list > <mat...@li... > <mailto:mat...@li...>> > Message-ID: > > <CANNq6F=pdWohTRYLqEkG3oy6VoWYJ=c4Q...@ma... <mailto:c4Q...@ma...>> > Content-Type: text/plain; charset="iso-8859-1" > > >From discussions with others at SciPy, we found ourselves > disagreeing on > what default we would want. We also weren't sure exactly which > params were > the ones that people tended to change. We have zero data on this. > This site > is intended to help start that data collection process. > > We can certainly improve this site to collect other kinds of info, > but this > is just a start. One could also view this as a launching point for > teaching > how to use rcParams (sorry David, i kinda like that name) in mpl. > You all > know I never let a good teaching moment go to waste! > > As for linking from matplotlib.org <http://matplotlib.org>, I am > ambivalent. It is a bit gimmicky, > and I do worry about being counterproductive to efforts in SciPy > to be more > inclusive of women (given the rather anti-feministic undertones of > the site > we are parodying). Of course, that could just be me being overly > cautious. > > Cheers! > Ben Root > On Jul 20, 2013 2:20 PM, "Eric Firing" <ef...@ha... > <mailto:ef...@ha...>> wrote: > > > On 2013/07/20 4:18 AM, David P. Sanders wrote: > > > Hi, > > > > > > Probably many of you know about "Plot or Not", a site where we > vote on > > > the same plot presented in different ways, to get feedback > about better > > > matplotlibrc params: > > > > > > http://warm-escarpment-9042.herokuapp.com/ > > > > > > It seems to me an absolutely fantastic idea! I think many > people do not > > > realise how fantastic the plots can look with some of this modern > > > styling. (Styling was mentioned several times at SciPy.) > > > > > > Would it be possible to put a link to this site on the > matplotlib web > > > page and encourage people to use it? > > > > David, > > > > Interesting, but I'm not sure this is a good approach. I really > don't > > see the point of the voting. What I think would be more useful > would be > > a set of matplotlibrc files with examples of their effect on at > least a > > few plot types. > > > > > > > > Definitely time to update the defaults!! > > > > Or maybe include a representative set of rcParams combinations > to make > > it easier for people to choose a design that suits their > purpose. This > > could be part of a toolkit. > > > > Eric > > > > > > > > Best wishes, > > > David. > > > > > > -- > > > Dr. David P. Sanders > > > > > > Profesor Titular "A" / Associate Professor > > > Departamento de F?sica, Facultad de Ciencias > > > Universidad Nacional Aut?noma de M?xico (UNAM) > > > > > > dps...@ci... <mailto:dps...@ci...> > <mailto:dps...@ci... > <mailto:dps...@ci...>> > > > http://sistemas.fciencias.unam.mx/~dsanders > <http://sistemas.fciencias.unam.mx/%7Edsanders> > > > <http://sistemas.fciencias.unam.mx/%7Edsanders> > > > > > > Cub?culo / office: #414, 4o. piso del Depto. de F?sica > > > Tel.: +52 55 5622 4965 <tel:%2B52%2055%205622%204965> > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > See everything from the browser to the database with AppDynamics > > > Get end-to-end visibility with application monitoring from > AppDynamics > > > Isolate bottlenecks and diagnose root cause in seconds. > > > Start your free trial of AppDynamics Pro today! > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > > > > > > > > > > > _______________________________________________ > > > Matplotlib-devel mailing list > > > Mat...@li... > <mailto:Mat...@li...> > > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > > > > > > > > > ------------------------------------------------------------------------------ > > See everything from the browser to the database with AppDynamics > > Get end-to-end visibility with application monitoring from > AppDynamics > > Isolate bottlenecks and diagnose root cause in seconds. > > Start your free trial of AppDynamics Pro today! > > > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > _______________________________________________ > > Matplotlib-devel mailing list > > Mat...@li... > <mailto:Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > Message: 4 > Date: Sat, 20 Jul 2013 15:03:20 -0400 > From: Benjamin Root <ben...@ou... <mailto:ben...@ou...>> > Subject: Re: [matplotlib-devel] How to use STIX fonts in matplotlib > plots? > To: "David P. Sanders" <dps...@ci... > <mailto:dps...@ci...>> > Cc: matplotlib development list > <mat...@li... > <mailto:mat...@li...>> > Message-ID: > > <CANNq6Fm0Oz=3uk...@ma... <mailto:3uk...@ma...>> > Content-Type: text/plain; charset="iso-8859-1" > > David, > > IIRC, we were just starting to investigate how to produce retina > graphics. > Perhaps you might be able to help Mike D and Michael de Hoon with > there > efforts because very few of us have retina displays. > > Cheers! > Ben Root > On Jul 20, 2013 10:43 AM, "David P. Sanders" > <dps...@ci... <mailto:dps...@ci...>> > wrote: > > > I find the default font used in matplotlib horrible. We should > be able to > > do much better these days. > > > > One very interesting option, at least for standard (paper) > publishing, is > > the STIX fonts, which is a Times-like font set promoted by several > > publishers. > > > > There are various options in matplotlib, such as > > matplotlib.rcParams["mathtext.fontset"], which allow the option > "stix", > > but I have not been able to get it to work. Can anybody please > help me with > > this -- what is required? > > > > I have the STIX otf or ttf installed on my Mac, but I don't seem > to manage > > to get the LaTeX versions installed -- installing LaTeX fonts is > *so* > > disgusting (is there some helper script for that?). > > > > Thanks and best wishes, > > David. > > > > -- > > Dr. David P. Sanders > > > > Profesor Titular "A" / Associate Professor > > Departamento de F?sica, Facultad de Ciencias > > Universidad Nacional Aut?noma de M?xico (UNAM) > > > > dps...@ci... <mailto:dps...@ci...> > > http://sistemas.fciencias.unam.mx/~dsanders > <http://sistemas.fciencias.unam.mx/%7Edsanders> > > > > Cub?culo / office: #414, 4o. piso del Depto. de F?sica > > > > Tel.: +52 55 5622 4965 <tel:%2B52%2055%205622%204965> > > > > > > > ------------------------------------------------------------------------------ > > See everything from the browser to the database with AppDynamics > > Get end-to-end visibility with application monitoring from > AppDynamics > > Isolate bottlenecks and diagnose root cause in seconds. > > Start your free trial of AppDynamics Pro today! > > > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > _______________________________________________ > > Matplotlib-devel mailing list > > Mat...@li... > <mailto:Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > ------------------------------ > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > End of Matplotlib-devel Digest, Vol 86, Issue 17 > ************************************************ > > > > > -- > ************************************ > Chris Beaumont > Graduate Student > Institute for Astronomy > University of Hawaii at Manoa > 2680 Woodlawn Drive > Honolulu, HI 96822 > www.ifa.hawaii.edu/~beaumont <http://www.ifa.hawaii.edu/%7Ebeaumont> > ************************************ > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel |