Skip to content
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

Consider not having osx backend be default for people using macs #4791

Closed
mwaskom opened this issue Jul 25, 2015 · 8 comments
Closed

Consider not having osx backend be default for people using macs #4791

mwaskom opened this issue Jul 25, 2015 · 8 comments

Comments

@mwaskom
Copy link

mwaskom commented Jul 25, 2015

I think the number one source of issues for people using seaborn are places where I've managed to find bugs in the osx backend. I think the major one is here: #2654 but there are a couple of others that I'm failing to think of off the top of my head.

As part of the general rcParams changes, I would like to propose changing the default backend for Mac uses to one that is more stable. (I mean, ideally, fixing the tight_layout issue would be best, but progress on that seems to have stalled and it does not look from the linked issue like there is a clear path forward).

As I've mentioned before, I do most/all of my plotting in the notebook so I may be ignorant of counter-weighing virtues of the OSX backend, but from my perspective it seems to be not quite ready for primetime and a source of some really confusing, and totally devastating, errors.

@tacaswell tacaswell added this to the Color overhaul milestone Jul 25, 2015
@tacaswell
Copy link
Member

This is a bit out of our control as the default backend is ultimately controlled by the packagers and iirc is ultimately a result of build time configuration.

@jenshnielsen @mdehoon

@matthew-brett
Copy link
Contributor

matthew-brett commented Jul 26, 2015 via email

@mdehoon
Copy link
Contributor

mdehoon commented Jul 26, 2015

Many of the bugs that show first up in the MacOSX backend are actually due to bugs elsewhere in matplotlib (and are resolved by bug fixes elsewhere in matplotlib). Issue #2654 that you mentioned is a good example of that. I don't think it's particularly difficult to solve this bug but somebody needs to spend the time to do it. This bug is not caused by the MacOSX backend not being ready for prime-time; if this issue were caused by a bug in the MacOSX backend, I would have resolved it a long time ago. Removing the MacOSX backend is like removing the canary from the coal mine.

@mwaskom
Copy link
Author

mwaskom commented Jul 26, 2015

That may be the case, but the point remains that things crash with the OSX backend, and they don't crash with other backends, and I don't see any progress on fixing the underlying issues, whether they are issues with the OSX backend or not.

@mdehoon
Copy link
Contributor

mdehoon commented Jul 30, 2015

This looks like a simple bug in pyplot.py.

@mdehoon
Copy link
Contributor

mdehoon commented Jul 31, 2015

To be more specific, the tight_layout function in pyplot.py is calling fig.tight_layout, while it should be calling fig.set_tight_layout. Replacing fig.tight_layout by fig.set_tight_layout (and changing the attributes appropriately) fixes this bug. A similar bug may exist in other parts of matplotlib, e.g. in gridspec.py.

@mwaskom Since you are probably most motivated to fix this bug, can you look more into this and prepare a pull request?

@tacaswell
Copy link
Member

@mwaskom @mdehoon Please don't poke each other with sticks.

@mwaskom The official eggs mpl produces for mac will probably stay as OSX for the default backend because for basic stuff it 'just works' out of the box. Getting Qt/wx/gtk installed requires (to my understanding) a good deal of outside work (via homebrew/what ever) and there are issues with tk vs framework builds (which are words I know come up around installing on mac, but don't really know what they mean). Changing the default in what continuum ships is out of our control and you need to talk with them if you want that changed.

@mdehoon We have this conversation every time, if it works on every other backend, then it is not a bug it is a required work-around to the osx renderer behaving differently than all the other renderers.

@mwaskom
Copy link
Author

mwaskom commented Jul 31, 2015

Ah ok I didn't realize that it was a build-time decision (thought that makes sense). Since this issue is just about changing the default in the context of the rcParam overhaul I'll close it.

@mwaskom mwaskom closed this as completed Jul 31, 2015
@tacaswell tacaswell modified the milestones: Color overhaul, next major release (2.0) Oct 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants