在R中,在Microsoft Word中使用图形的最佳图形驱动程序是什么?


10

我使用R来制作在Microsoft Office文档中使用的整洁图形。根据此页面,使用PDF驱动程序可获得最佳质量。不幸的是,Word不支持导入PDF图形。我应该使用什么?


1
您可以将PDF图形放入Word。使用“插入对象”。旁注:如果您以前从未使用过LaTeX,我强烈建议尝试将其作为MS Word的替代方法。
mark999 2012年

1
@ mark999:感谢您的建议。我尝试过,但是很遗憾,我无法获得比文档中的pdf图标更好的任何东西。在这种情况下,我必须使用Word,因为我与使用Word的其他人一起工作。LaTeX很不错,但并非适用于每个项目或每个人。
static_rtti 2012年

4
@ mark999 LaTeX根本不是与非数学人员合作的选项。正如Gavin Simpson解释的那样,通过选择适当的格式,可以在Word文档中合并高质量的图形。
whuber

3
@ mark999可悲的是,我必须同意。LaTeX实际上不是几个字段之外的选项,即使是那些数学运算量很大的字段,仍将Word用作默认值。我考虑了一会儿,然后就放弃了,因为它带来的麻烦超过了协作的价值。
Fomite

1
@whuber,我同意你的观点,而EpiGrad我也部分同意你的观点。我可能会在LaTeX中完成90%的写作,在MS Word中完成其余的写作(我只能在没有选择的情况下使用Word)。static_rtti:我不知道您出了什么问题,因为我将pdf文件毫无问题地放入了Word文档中。
mark999 2012年

Answers:


4

如果您在PC上工作,则可以通过剪贴板以emf格式将图形插入Office文档。

emf是Windows本机矢量图形格式,它允许您使用MS Office工具编辑图形。这不是完美的方法,但是它是生成简单报告的快速方法。

如果您的文档非常复杂,MS Word对数字的处理将是可怕的。


12

取决于您将如何使用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的预期目标,


1
谢谢,很好的提示。后记似乎可以很好地与Word一起打印。不幸的是,屏幕上不良的预览是一个不小的问题。在我的环境中,很多Word文档都被发送到屏幕上阅读。
彼得·埃利斯

7

如果您使用Windows,请尝试win.metafile。如果我没记错的话,它是矢量格式,可以与Word很好地配合使用。


5

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格式。


是。我发现Cairo png设备可以生成最漂亮的绘图,以便在Word文档中进行屏幕查看。在的机器capabilities("cairo")TRUE,您可以选择使用png(..., type="cairo")或类似的方法png(..., type="cairo", res=200)来获得类似的输出。
Josh O'Brien

1
@ JoshO'Brien-好点。自从我的原始答案以来,我就此问题撰写了两篇博客文章:gforge.se/2013/02/exporting-nice-plots-in-rgforge.se/2013/03/exporting-plain-lattice-or-ggplot
Max Gordon

超级,谢谢你的链接。不知怎的,错过了units="in"选项,直到我读它们。希望我能知道关于一年或两年或10年前!由于您的答案是最好的答案,因此可能值得对其进行编辑,或者type="cairo"在内置设备的选件顶部添加一个更新-尤其是考虑到其相对于Cairo软件包功能的优势...
Josh O'布里恩

3

PDF,ps,SVG或eps是基于矢量的图形设备。JPG,TIFF,PNG等是光栅图形。谈到光栅图形时,要权衡大小和质量。通过调整宽度,高度和其他格式,可以保持光栅图形的高质量。您可以采用PNG或JPG格式插入图像。

SVG图像可能会插入MSWORD文档中。您可以检查一下


请注意,R的svg设备有时会在您不期望的时候为您提供栅格。
Thomas Levine 2012年

2

迁移.png文件的最简单方法就是我。但是,单词的确显示它们非常模糊-至少在我看来。回到我使用Eviews时,我尝试.eps了一系列问题,但质量更高。我认为最终您必须在两种弊端中取其轻。


我认为模糊是由于Word缩放算法引起的。在插入图像之前,在图像编辑程序中调整大小可能会获得更好的结果,以便按Word 100%显示。
2012年

或首先以所需大小创建png文件。默认width = 480, height = 480, units = "px", pointsize = 12,
亨利(Henry)

2

这不能直接回答您的问题,但是您可以使用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的推断使其他人难以重现您的分析。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.