-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
WXAgg backend not rendering nicely on retina #7720
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
We are constrained by the underlying GUI toolkit's (WX's) support for retnia. Under the hood the way this works is mpl using Agg to render your plot as an RGB array with is then painted onto the screen via WX. Any mouse/keyboard events are captured by the GUI toolkit and passed back down into mpl to run the user interaction. What apple does by default is to scale all applications by drawing each pixel in the underlying application as a 2x2 grid on your screen. This is a reasonable choice (or all of your applications are suddenly half the size they used to be and text may become unreadable) but is very inconvenient for mpl. |
Closing as there is nothing we can do until WX provides the GUI level tooling to handle high-dpi screens. |
Looks like now wxpython (4.2.0) handles the high-dpi screen much better. Do we have any plan to improve this? Thanks! https://docs.wxpython.org/wx.Bitmap.html#wx.Bitmap.GetScaleFactor |
There were not any specific plans since we aren't always watching wxPython changes, but we can re-open this issue based on this new information. |
I just tested out the example and it appears to work now after #26710, so I think that should have closed this issue. |
When embedding a matplotlib plot in a WX.Panel, the figure_canvas is not rendered nicely on a retina display. Increasing the dpi of the figure does not help (it only alters the figure size).
Matplotlib version: 2.0.0rc2 (installed with pip) (same behaviour as with 1.5.3)
Python version: 2.7.13 (installed with homebrew)
Platform: OSX (macOS Sierra)
Plotting using standard MacOSX backend (no embedding):
Plotting using the WXAgg backend (embed inside WX.Panel):
Any workarounds or tips?
The text was updated successfully, but these errors were encountered: