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

机器算法验证 r 数据可视化
2022-03-08 05:39:01

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

4个回答

取决于您将如何使用 Word 文档以及您希望在文档中包含哪些类型的图形。

如果这些数字是具有中等数量的点/数据的标准 R 图,则基于矢量的格式将提供最佳再现,并允许在文件大小较小的同时轻松重新缩放图像大小。postscript(...., onefile = FALSE, paper = "special")如果您要输出到 PDF 或在知道 postscript 的激光打印机上打印,EPS via在这种情况下将是最好的格式。不幸的是,Word 使用第三方插件来加载 EPS 图形,这会产生糟糕的低分辨率位图预览,并显示在屏幕上——尽管打印时你会得到高质量的 EPS。

如果这些图可以被视为栅格(具有大量“像素”的表面图或图像图 [热图]),或者如果图包含大量点,则保留此类图的矢量信息将导致文件大小和处理文档时加载到 Word 并存储在内存中的高处理成本。在这种情况下,我会分别使用高分辨率 TIFF 或tiff()PNG png()有关设置图像大小(以像素为单位)和分辨率的帮助,请参阅帮助文件。这些设备会将图形渲染为位图图像,如果给定足够的尺寸/分辨率,则可以承受一定程度的重新缩放,但当数据点或单元的数量非常大时,存储的效率往往要高得多。

还要考虑并非所有设备都支持透明度,主要是因为底层文件格式不允许这样做;postscript()不支持透明度,pdf()并且支持png()cairo_ps()确实支持透明度,但这样做实际上会生成 EPS 格式的位图图像,这可能不是您想要的。

请注意,如果将文档保存为 PDF,位图图形将在一定程度上被下采样。I forget how Word controls this, but it had two settings in the Save dialog when PDF type was selected and one of those will downsample the images to produce a smaller file size. 这将与一些质量损失有关,因此请注意您选择的选项。这不是 Word 特有的 - OpenOffice.org 和 LibreOffice 具有相同的功能,但它们对图像的压缩方式以及是否压缩提供了更精细的控制。这是因为 PDF 是为屏幕和打印机复制而设计的。如果在网络屏幕上显示,则不需要高分辨率的图像。更高的分辨率图像会导致更大的文件大小,因此可以设置 PDF 的预期目标,

如果您在 Windows 上,请尝试win.metafile. 它是矢量格式,如果我没记错的话,它与 Word 配合得很好。

Windows 中的 R 图形可能非常棘手。我遇到的最大问题是抗锯齿在 Windows 中无法正常工作。出于某种原因,我需要使用 Cairo 设备插件来很好地格式化它。

我已经尝试过 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 格式。

如果您在 PC 上工作,通过剪贴板将数字以 emf 格式插入 Office 文档中非常方便。

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

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