如何在R中保存包含大量点的pdf

如何在R中保存包含大量点的pdf,r,pdf,plot,R,Pdf,Plot,因此,我必须保存一个包含很多点的pdf绘图。这不是问题。问题是当我打开它的时候。画出所有这些点要花很长时间。如何保存此pdf文件,使其在有人打开时不必逐点绘制。如果图片质量下降一点,我没问题 这是一个样品。我不认为这会使您的计算机崩溃,但如果您有一台旧机器,请小心参数长度。顺便说一句,我在实际问题中使用了比这多得多的观点 pdf("lots of points.pdf") x <- seq(0,100, length = 100000) y <- 0.00001 * x plot(x

因此,我必须保存一个包含很多点的pdf绘图。这不是问题。问题是当我打开它的时候。画出所有这些点要花很长时间。如何保存此pdf文件,使其在有人打开时不必逐点绘制。如果图片质量下降一点,我没问题

这是一个样品。我不认为这会使您的计算机崩溃,但如果您有一台旧机器,请小心参数长度。顺便说一句,我在实际问题中使用了比这多得多的观点

pdf("lots of points.pdf")
x <- seq(0,100, length = 100000)
y <- 0.00001 * x
plot(x, y)
dev.off()
pdf(“lotsof points.pdf”)

我有一个类似的问题,并且有一个合理的解决方案。缺点是该解决方案不是通用的,不涉及编程(总是很糟糕)

出于草稿目的,png或任何其他图形格式可能就足够了,但出于演示目的,通常情况并非如此。因此,方法是将字体、轴等的矢量图形与无数点的位图相结合:

1) 另存为pdf(巨大且令人讨厌)

2) 装入illustrator或类似工具(必须有层)

3) 通过将其他内容拖动到新图层,将点与所有其他内容分开-另存为

4) 删除其他内容并仅将点导出为位图(png、jpg)并另存为B

5) 将B加载到A中;缩放并移动B以精确重叠;删除矢量点图层,并导出为pdf

完成了。你需要30分钟

如前所述,这与编程无关,但无法回避这样一个事实:作为矢量图形,每个点(甚至是那些不可见的点,因为它们被其他点覆盖)都是单个元素,处理数千个元素的PDF非常困难。 因此需要进行后处理。我知道ImageMagick可以做很多事情,但是上面提到的这些都不能用算法来完成

解决这一问题的唯一编程方法(部分)是消除那些不会显示的点,因为这些点被其他点覆盖。但那是我无法理解的


只有当你真的迫切需要极高的可伸缩性时,才可以这样做,否则使用@Ben和@inform并使用位图——在任何你需要的容器中(png、pdf、bmp、jpg、tif,甚至eps)。

如果你不是绝对坚持pdf,你可以制作一个高分辨率的png——由于压缩,它不会太大,在任何比广告牌小的显示器上,它的分辨率实际上与基于矢量的PDF相同……一个快速的技巧是使用
pch=“”。
您可以将PNG转换为PDF,如果您使用*nix,请使用imagemagick(命令行工具)。这里有一个关于质量问题的链接,pdf来自PNG,用于解决我的特定问题pch=“”。“有诀窍:)@Benbolker你可以对点数进行采样,或者避免像我显示的那样绘制隐藏点。