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

xkcd plots rendered as regular plots on Mac OS X #5442

Closed
mario-grgic opened this issue Nov 8, 2015 · 9 comments
Closed

xkcd plots rendered as regular plots on Mac OS X #5442

mario-grgic opened this issue Nov 8, 2015 · 9 comments
Assignees
Milestone

Comments

@mario-grgic
Copy link

This is with Python 2.7.10 and matplotlib 1.5.0 on Mac OS X 10.11.1. All xkcd plots render as regular plots.

@DanHickstein
Copy link
Contributor

Does switching backends help?
#2269

@mario-grgic
Copy link
Author

Yes, if I save the plot as pdf or use CocoaAgg backend, it looks right. It looks like the default MacOSX backend has a problem.

@tacaswell
Copy link
Member

@mario-grgic Is regression from 1.4.3?

attn @mdehoon

@tacaswell tacaswell modified the milestones: next bug fix release (2.0.1), unassigned Nov 11, 2015
@jenshnielsen
Copy link
Member

It's not a regression. It doesn't work with the OSX backend in 1.4.3 either.

@mario-grgic
Copy link
Author

In 1.4.3 xkcd plots failed with error described in Issue #5049.

@mdehoon
Copy link
Contributor

mdehoon commented Nov 12, 2015

With matplotlib 1.5.0 using the gtkcairo backend, the xkcd plots also render as regular plots. @mario-grgic can you identify exactly where in the xkcd code the difference between agg/pdf and macosx/gtkcairo occurs?

@mdboom
Copy link
Member

mdboom commented Nov 12, 2015

The "sketched line" functionality happens in the path iterator code (src/path_converters.h). The macosx backend interacts with that code through a C wrapper around the C++ (src/path_cleanup.cpp) that hasn't been updated to expose the sketch functionality. We'd need to both update that wrapper and then update the macosx backend to pass along the sketch parameters from the gc to that. I can probably hack that together when I have time.

The Cairo backend is different -- since it's currently 100% Python (outside of the third-party Cairo wrapper), it doesn't use the path iterator code. Doing so would require a lot more overhead, but it's doable, and we do actually already expose the path iterators to Python through _path.cleanup_path.

@mdehoon
Copy link
Contributor

mdehoon commented Nov 13, 2015

@mdboom OK, when you're done, I can have have a look at the macosx backend side of things.

mdboom added a commit to mdboom/matplotlib that referenced this issue Nov 23, 2015
@mdboom mdboom assigned mdboom and unassigned mdehoon Nov 23, 2015
@mdboom
Copy link
Member

mdboom commented Mar 21, 2016

Fixed by #6178.

@QuLogic QuLogic modified the milestones: 2.0 (style change major release), unassigned Mar 28, 2016
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

7 participants