如何在R中获得pdf绘图作为常量图像?

如何在R中获得pdf绘图作为常量图像?,r,R,我有300万个数据点,以R作为点绘制。然后我将绘图保存为pdf文件。这非常有效,但当我打开文件时,显示所有点需要时间。实际上,它就像一个动画情节。 我的问题是: (1) 如何将此绘图显示为图像,即没有动画 (2) 如何减小尺寸,保持良好的分辨率。我的原始数据约为10MB,不适合发布 要演示这一点,请使用以下代码,打开pdf文档并检查动画 f<-rand(3E5,2)*1E4 pdf(file="test.pdf") plot(f[,1],f[,2], type="p",cex=0.1) g

我有300万个数据点,以R作为点绘制。然后我将绘图保存为pdf文件。这非常有效,但当我打开文件时,显示所有点需要时间。实际上,它就像一个动画情节。 我的问题是:

(1) 如何将此绘图显示为图像,即没有动画

(2) 如何减小尺寸,保持良好的分辨率。我的原始数据约为10MB,不适合发布

要演示这一点,请使用以下代码,打开pdf文档并检查动画

f<-rand(3E5,2)*1E4
pdf(file="test.pdf")
plot(f[,1],f[,2], type="p",cex=0.1)
graphics.off()

我认为“好的分辨率”(通过DPI和图像尺寸来解决)、“小尺寸”和避免“动画情节”问题是完全不一致的。为了避免“动画”问题,您需要对数据进行采样(可能不可能),或者使用光栅解决方案(png、jpg、bmp)而不是矢量解决方案(svg、pdf)。密切相关:我不认为链接的问题中涉及到这一点,但具有极高分辨率的png仍然不会很大(因为中间的巨大斑点被PNG压缩算法视为单个斑点,只有斑点的边缘随着分辨率的增加而增加到图像的大小)。我刚刚为这个问题添加了另一个答案,显示了PNG解决方案。谢谢Ben。我正在绘制分叉图。如果我使用PNG,图片不清晰,并且遗漏了图中的重要区域。我可以选择使用pdf或eps来显示清晰的图片。是否有可能将其设置为非动画。我尝试使用convert降低密度在linux中,它减小了尺寸,使其非动画化,但质量很差。但在这种情况下,它比png好。还有其他可能的解决方案吗?我认为“高分辨率”(通过DPI和图像尺寸解决)、“小尺寸”和避免“动画情节”问题完全是相互矛盾的。避免“动画”问题是,您需要对数据进行采样(可能不可能),或者使用光栅解决方案(png、jpg、bmp)而不是矢量解决方案(svg、pdf)。密切相关:我认为链接问题中没有涉及到这一点,但分辨率极高的png仍然不会很大(因为中间的巨大斑点被PNG压缩算法视为单个斑点,只有斑点的边缘随着分辨率的增加而增加到图像的大小)。我刚刚为这个问题添加了另一个答案,显示了PNG解决方案。谢谢Ben。我正在绘制分叉图。如果我使用PNG,图片不清晰,并且遗漏了图中的重要区域。我可以选择使用pdf或eps来显示清晰的图片。是否有可能将其设置为非动画。我尝试使用convert降低密度在linux中,它减小了尺寸,使其非动画化,但质量很差。但在这种情况下,它比png好。还有其他可能的解决方案吗?