On 07/22/2013 11:34 AM, Chris Beaumont wrote:
I had the same question about opt-out vs opt-in. Personally, I vote for opt-out. I would like to see each release of MPL have an associated style (which may be the same as the last release, but maybe not). With Tony's style PR, users that need constant styles would either put `style.use('1.3')` in their script, or `style: 1.3` in an rcParams file. This would then freeze the style FOR-EV-ER (sandlot voice). However, the default would be `style: latest`, so that the default user benefits from the community's effort into making the best possible set of defaults. Is that sufficiently pain-free for people who want future proofing? Or do you think styles must be opt-in (which, effectively, means that defaults cannot change).

In my experience, the vast majority of users don't read changelog notes, so we can't expect people to opt out of something that will change and/or break their existing plots. This is particularly a problem where matplotlib is upgraded by a sysadmin or distribution (about 58% percent of users, by our survey), because it doesn't even get upgraded on the user's timetable, necessarily. So I think any changes to the defaults have to be opt-in. However, we do have a policy of breaking things after a release cycle of deprecation warnings. So we can change the defaults in 1.5 after a round of warnings about them in 1.4 (if an explicit style is not set).


I'm not sure if I understand what you're getting at re: approximately_emulate.

I took Nathaniel's suggestion to just mean that default style should be selectable by a version number, so the user doesn't have to keep track of the mapping between a style set and a version of matplotlib.

I'm in favor of two modes for style loading -- some kind of lazy version that only touches the options explicitly addressed in the file, and an explicit version that defaults all other options to something. Thus, explicit loading would guarantee that a style never changes.

Yes -- I agree there, too. "set_style" vs. "update_style" perhaps? ("update" used for its similarity to dict.update?)

Mike
------------------------------------------------------------------------------
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
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to