-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Improve default colors and layouts #2467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
At least part of this should hook up with the style sheet work (PR #2236 ) |
I think once we get #2236 merged (which I think will be rather soon), it would be great to have some of your settings converted to the new style file format. It does look, however, like some of the things you are doing in |
Yes, I've been following #2236 . The code-based things are:
Finally, some questions:
|
I feel very strongly that changing the defaults should be treated as a major api break (like bump to 2.x) as the same code will now produce very different looking output. Somewhat related, I don't like some of these changes (removing the spines and the ticks) and if we are going to change the default colormap we should switch from jet to cubehelix. |
I agree with the major api break for any new defaults. However, I disagree Olga Botvinnik On Mon, Sep 30, 2013 at 2:49 PM, Thomas A Caswell
|
I've chimed in on the mailing list before, but I'm strongly in favor of changing away from jet. I think cubehelix is an improvement over jet, but it still suffers from many of the same issues (specifically, data differences are perceived differently in different data ranges; i.e. artificial banding of data). I'd favor a sequential colormap (gray, bone, or pink), but I guess that's not as pretty as some other colormaps. If there's some added functionality for smartly choosing colormap ranges based on the data range (as in This will become less important if people start adopting the use of style sheets, but I do think defaults are important, regardless. |
BTW, after rc parameters are refactored, I was hoping to implement something like cascading style sheets. The hope is that many more config parameters get defined as rc parameters (or maybe "style" parameters after a refactor). Ideally a style sheet would only have to redefine a limited set of parameters to achieve a consistent look. Here's a simple implementation of a base class for The idea is that you could define a map for specific parameters to more generic parameters, and then only the most generic parameters need to specified: cascade_map = {'negative.cmap': 'pcolor.cmap',
'positive.cmap': 'pcolor.cmap',
'diverging.cmap': 'pcolor.cmap',
'pcolor.cmap': 'cmap',
'image.cmap': 'cmap'}
simple_config = {'cmap': 'gray'}
config = CascadingConfig(simple_config, cascade_map=cascade_map) and get a styling that's consistent for multiple plot types. Styles that want to have more fine-grained control could do something like: full_config = {'pcolor.cmap': 'Reds',
'negative.cmap': 'Blues_r',
'diverging.cmap': 'RdBu_r',
'cmap': 'gray'}
config = CascadingConfig(full_config, cascade_map=cascade_map) |
Yes that looks great! Olga Botvinnik On Mon, Sep 30, 2013 at 9:34 PM, Tony S Yu [email protected] wrote:
|
I think everything reasonable has been implemented here? |
Hello there,
I created a matplotlib-wrapper,
prettyplotlib
and have garnered small following. I'm interested in contributing these defaults to the main matplotlib branch. The code isn't completely documented with@param
and such but it should be easy to follow, and there are many examples. What is the best way to proceed?Thanks,
Olga
The text was updated successfully, but these errors were encountered: