-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Error in Agg backend's PNG renderer when markeredgewidth > markersize
#16621
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
I'm sure whoever (if anyone) eventually tackles this will notice, but this looks like a typical "even/odd" vs "non-zero" fill style mix up (see e.g. https://www.slideshare.net/Mark_Kilgard/22pathrender, slide 21). |
I wonder if mplcairo has this problem... That is wild how did you find this? |
This also doesn't seem to affect mplcairo even if setting the fill rule (with cairo_set_fill_rule) to even-odd (the default is nonzero). |
Writing tests for #16607, of course wanted to make sure formulas work in fat/thin marker edge cases. |
This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help! |
Bug report
Bug summary
Whenever the edge width of a marker is increased beyond the size of the marker, you would want the marker to
Code for reproduction
Actual outcome
While the outer extents of the pentagon's edge appear correct, you can see that the inner extents begin to recede away from the center as the edge width is set larger and larger, until eventually the original marker is fully visible again, along with some of the background.
Console output:
<matplotlib.backends.backend_agg.RendererAgg at 0x7f5277bf0e80>
Saved images:








Expected outcome
The expected outcome is a fully-shaded pentagon (due to the edge being huge). My PDF backend does this correctly, as seen below in a screenshot of what
test_140.pdf
looks like if I save as'test_{i}.pdf'
instead:Matplotlib version
print(matplotlib.get_backend())
):module://ipykernel.pylab.backend_inline
is what gets printed, and inline plots also show this error, but I can take Jupyter out of the loop by saving directly to file. Both cases are apparently usingRendererAgg
to make the PNG, as seen above.Matplotlib was installed and updated via the default conda channel.
The text was updated successfully, but these errors were encountered: