在一篇文章中,我正在生成变形有限元网格图,并使用 matplotlib 的 polycollection 对其进行可视化。图像保存为 pdf。
高密度网格会出现问题,这种简单的方法会导致文件太大且渲染过于密集而无法实用。
对于这些网格,将每个元素绘制为多边形确实没有意义;它可以很容易地被光栅化,就像将图像保存为 jpg 或 png 时所做的那样。然而,对于打印,我想保留清晰的框架、标签和注释。
有谁知道是否可以在 matplotlib 中实现这种混合光栅化?
我可以想到涉及 imshow 并绕过 polycollection 的解决方案,但我更喜欢使用 matplotlib 的内置组件。
谢谢你的建议。
只需通过rasterized=True
集合构造函数的关键字。例子:
col = collections.PolyCollection(<arguments>, rasterized=True)
这仅允许对该元素进行选择性光栅化(例如,如果您在其顶部进行了法线绘图,则默认情况下它将被矢量化)。大多数命令都喜欢plot
or imshow
也可以采取rasterized
关键词。如果想要光栅化整个图形(包括标签和注释),可以这样做:
fig = plt.figure()
a = fig.add_subplot(1,1,1, rasterized=True)
(但这不是您想要的,如问题中所述。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)