首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以较小的R大小在PDF中保存ggplots?

如何以较小的R大小在PDF中保存ggplots?
EN

Stack Overflow用户
提问于 2020-11-05 16:29:45
回答 1查看 1.2K关注 0票数 1

我很难在pdf中保存大量的ggplots,因为我正在创建包含1200万行(大量观察)的12图(散点图和盒图)。

问题是,当我使用以下方法将该地块保存为PDF时:

代码语言:javascript
运行
复制
ggsave("my_plots.pdf", myArrangedPlots)

只有120页pdf的PDF大小非常大= 90 MB。

当我将一个地块保存为PNG时,使用:

代码语言:javascript
运行
复制
ggsave("plot1.png" plot1)

与以PDF格式保存同一块地块(1MB vs 0.1MBS)相比,其大小要小得多。

我认为这是因为ggplot内部机制试图在PDF文件中保存Vectorized格式的绘图以获得最大的分辨率,但我不需要太多的分辨率。还要注意的是,当有一百万个用矢量化格式表示的点时,大小将大于PNG中的相同图,因为PNG不保存层。

我想用PDF格式保存地块,但将这些情节嵌入PNG格式,而不是矢量图化格式,以缩小PDF文件的大小。

我在ggplot2中有任何参数来实现这一点,或者有任何解决办法?

EN

Stack Overflow用户

回答已采纳

发布于 2020-11-06 10:02:13

观察pdf()的文档,它的参数似乎与ggsave()兼容。

我找到了一个参数useDingbats,默认情况下它被设置为FALSE,但是如果您将它设置为TRUE,在我的示例中,PDF大小将从94 MB大幅减少到10 MB。

所以我就这样用它:

代码语言:javascript
运行
复制
ggsave("myplots.pdf", arrangedPlots, useDingbats = TRUE)

注意:将useDingbats设置为真,是为小圆圈使用Dinbat字体,在散点图和带有大量异常点的盒图的情况下,可以大大减少最终PDF的大小。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64701328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档