I usually use ax.set_rasterized(True)
to rasterize the figure so that it could handle transparency when saved as in eps
format, but the rasterization also blurs the axis labels and ticklabels, so is there a way to rasterize only patches within the axis rather than the whole figure? or is there a better around for exporting eps format with transparency? Thanks.
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Evil ctypes hack in python
- Correctly parse PDF paragraphs with Python
The results are better if you specify dpi - which seems to default to quite a low value. For example, change the last line to
and the file grows to 4.5M, and looks fine in Acrobat up to 200% magnification. However I agree that there are probably more compact formats that support transparency.
As matplotlib Artists can be rasterized, any class derived from Artist (http://matplotlib.sourceforge.net/api/artist_api.html) can be rasterized with the keyword
rasterized
set toTrue
. So you can only rasterize your patches.I just tried some combinations and it seems to work. However the quality seems to be not very good (see also http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg13276.html).
I converted the
eps
to png to show it in the browser:See also: How to save figures to pdf as raster images in matplotlib.