我使用R来制作在Microsoft Office文档中使用的整洁图形。根据此页面,使用PDF驱动程序可获得最佳质量。不幸的是,Word不支持导入PDF图形。我应该使用什么?
我使用R来制作在Microsoft Office文档中使用的整洁图形。根据此页面,使用PDF驱动程序可获得最佳质量。不幸的是,Word不支持导入PDF图形。我应该使用什么?
Answers:
取决于您将如何使用Word文档以及希望在文档中包括的图形类型。
如果这些图是具有适度点/数据数量的标准R图,则基于矢量的格式将提供最佳的再现效果,并允许在缩小文件大小的同时轻松缩放图像大小。postscript(...., onefile = FALSE, paper = "special")
在这种情况下,如果要输出为PDF或在知道附言的激光打印机上进行打印,则EPS 格式将是最好的格式。不幸的是,Word使用第三方插件来加载EPS数字,这会产生a脚的低分辨率位图预览,并在屏幕上显示-打印时,您会获得高质量的EPS。
如果可以将这些图视为栅格(具有大量“像素”的表面图或图像图[heatmaps]),或者这些图包含大量点,则保留此类图的矢量信息将导致较大的点数。文件大小和高昂的处理成本,以在您处理文档时加载到Word中并存储在内存中。在这种情况下,我将分别通过tiff()
或使用高分辨率TIFF或PNG png()
。请参阅帮助文件以获取有关设置图像大小(以像素为单位)和分辨率的帮助。这些设备会将图形渲染为位图图像,如果给定足够的大小/分辨率,则可以忍受一定程度的缩放,但是当数据点或单元格的数量非常大时,往往可以更有效地存储该图片。
还应考虑并非所有设备都支持透明性,这在很大程度上是因为基础文件格式不允许透明性。postscript()
不支持的透明度,pdf()
和png()
做。cairo_ps()
确实支持透明度,但这样做实际上会生成EPS格式的位图图像,这可能不是您想要的。
请注意,如果将文档另存为PDF,则位图数字将在某种程度上被下采样。我忘记了Word是如何控制的,但是当选择PDF类型时,它在“保存”对话框中有两个设置,其中之一将对图像进行下采样以产生较小的文件大小。这将导致质量下降,因此请小心选择哪个选项。这不是特定于Word的-OpenOffice.org和LibreOffice具有相同的功能,但是它们提供了对图像的压缩方式以及是否压缩的更精细的控制。出现这种情况是因为PDF是为在屏幕上和在打印机上复制而设计的。如果显示在网络屏幕上,则不需要高分辨率的图像。较高的分辨率图像会导致较大的文件大小,因此可以设置PDF的预期目标,
Windows中的R图形可能非常棘手。我最大的问题是抗锯齿无法在Windows中正常工作。出于某种原因,我需要使用Cairo设备插件来格式化它。
我已经尝试了开罗和cairoDevice软件包,目前我发现cairoDevice是最简单,最可靠的,有关此问题,有一个StackOverflow帖子。
要使用cairoDevice软件包,您需要做的是:
# Create the device
Cairo_png(filename="my_file_name.png",
width=16,
height=16,
pointsize=18)
# Do a plot
plot(x, y)
# Saves the file
dev.off()
您还可以保存为PDF / svg格式,然后使用Inkscape编辑图形,更改字体等,然后将其导出为png格式。
capabilities("cairo")
上TRUE
,您可以选择使用png(..., type="cairo")
或类似的方法png(..., type="cairo", res=200)
来获得类似的输出。
units="in"
选项,直到我读它们。希望我能知道关于这一年或两年或10年前!由于您的答案是最好的答案,因此可能值得对其进行编辑,或者type="cairo"
在内置设备的选件顶部添加一个更新-尤其是考虑到其相对于Cairo软件包功能的优势...
这不能直接回答您的问题,但是您可以使用R软件包R2wd或商业软件Inference for R在R和MS Word之间获得更好的集成。这些提供了与Sweave相似的R和MS Word直接集成,消除了剪切和粘贴或保存和加载,并使从命令行更新文档中的图更加容易。我没有使用过这些工具,但是我确实使用了Sweave并推荐有文化的编程,所有这些工具都支持这种编程。
Sweave是R用户中使用最广泛的扫盲编程工具。它是LaTeX + R,是R小插图以及许多书籍和期刊文章的写作方式。
Word + R工具为新用户提供了一个较轻松的界面。LaTeX的学习曲线比Word陡峭。
但是,以每年199美元的价格进行推算,与其他作为基础R的一部分的Sweave不同,对R的推断使其他人难以重现您的分析。