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

Allow swapping the underlying rendering backend. #23

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 5, 2023

This patch implements backend_inline.set_rendering_backend, such that set_rendering_backend("foo") behaves as if calling matplotlib.use("foo"), which allows selecting an alternative rendering backend.

In matplotlib itself, the only relevant alternative rendering backend is cairo, which is generally less feature-ful than agg, but there are also third-party backends, such as mplcairo
(set_rendering_backend("module://mplcairo.base")) which provide e.g. improved text rendering for complex scripts (Arabic, Hebrew) and different compositing options.

See e.g. matplotlib/mplcairo#45 (but to test this without installing mplcairo, simply try set_rendering_backend("cairo")).


Edit: CI failure seems unrelated.

@anntzer
Copy link
Contributor Author

anntzer commented Mar 4, 2023

Kindly bumping?

This patch implements backend_inline.set_rendering_backend, such that
`set_rendering_backend("foo")` behaves as if calling
`matplotlib.use("foo")`, which allows selecting an alternative rendering
backend.

In matplotlib itself, the only relevant alternative rendering backend is
cairo, which is generally less feature-ful than agg, but there are also
third-party backends, such as mplcairo
(`set_rendering_backend("module://mplcairo.base")`) which provide e.g.
improved text rendering for complex scripts (Arabic, Hebrew) and
different compositing options.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant