-
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
Comments
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. |
What would the suggested default backend be, for the OSX wheel?
At least, at the moment, the OSX wheel works out of the box, without extra
toollkits installed.
I use the OSX backend more often than any other.
Might it be worth having some sort of developer meeting on how to move
forward on issues related to the OSX backend?
|
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. |
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. |
This looks like a simple bug in pyplot.py. |
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? |
@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. |
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. |
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.
The text was updated successfully, but these errors were encountered: