【问题标题】:Saving plots as EMF files将绘图保存为 EMF 文件
【发布时间】:2017-12-27 20:09:29
【问题描述】:

我遇到了 devEMF 包中的 emf() 函数的问题。

我正在使用的代码 -

library(devEMF)
emf(file = "trial.emf")
plot(1:10, seq(10, 100, 10), type = "l", xlab = "Time", ylab = "Distance")
#sample plot
dev.off()

这没有情节线,但确实有其他所有内容(标签、轴刻度、标题)。

我缺少一些图形包吗?

sessionInfo()
#R version 3.3.2 (2016-10-31)
#Platform: x86_64-w64-mingw32/x64 (64-bit)
#Running under: Windows 7 x64 (build 7601) Service Pack 1

#locale:
#[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United # 
#States.1252   
#[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                      
#[5] LC_TIME=English_United States.1252    

#attached base packages:
#[1] stats     graphics  grDevices utils     datasets  methods   base     

#other attached packages:
#[1] devEMF_3.6

#loaded via a namespace (and not attached):
#[1] tools_3.3.2

【问题讨论】:

    标签: r plot


    【解决方案1】:

    如果您尝试在 LibreOffice 外部查看,则该函数中的某些默认值并不理想。

    试试这个:

    library(devEMF)
    emf(file = "trial.emf", emfPlus = FALSE)
    plot(1:10, seq(10, 100, 10), type = "l", xlab = "Time", ylab = "Distance")
    dev.off()
    

    确保emfPlus = FALSE。如果您在 LibreOffice 中查看 emfPlus = TRUE 生成的绘图,您会发现它看起来不错。与其他查看者合作时使用emfPlus = FALSE

    【讨论】:

    • 谢谢!出于好奇,emfPlus 是什么?
    • 您可以在帮助中了解它。在您的 R 终端中运行 ?emf 并查看详细信息部分。在我刚才看这个工具之前,我以前从未听说过它。它似乎是 LibreOffice 支持的一种新的、更通用的 EMF 格式。
    【解决方案2】:

    很可能用于查看生成的 emf 图形的程序不支持 EMF+ 记录。

    正如 JMT2080AD 的回答中提到的,devEMF 库可以生成“EMF”或“EMF+”文件。较新的 EMF+ 格式 (https://msdn.microsoft.com/en-us/library/cc230724.aspx) 自 2007 年以来一直存在,并受到更新的闭源程序(即 Office 2010)的支持,但旧程序(例如旧版本的 Adob​​e Illustrator)缺少支持,并且在许多程序中参差不齐开源程序(例如 LibreOffice、Inkscape)。

    无论好坏,EMF+ 记录都嵌入在 EMF 评论记录中,这意味着旧程序会默默地忽略它们。

    我发现 devEMF 默认为 Microsoft Office 2010 和 LibreOffice >5.1.6 生成可接受的文件。虽然 LibreOffice 对 EMF+ 的支持不完整,但默认情况下,在调用 emf() 时会关闭不支持的功能。也就是说,JMT2080AD 建议在对 emf() 的调用中设置 emfPlus = FALSE 可能会使文件被更多程序查看(代价是失去透明度和抗锯齿等功能)。

    (披露:我是 devEMF 包的作者)

    【讨论】:

    • 有道理,我使用 Paint 来查看,因为这是查看 EMF 文件的“建议”应用程序。
    猜你喜欢
    • 2010-09-14
    • 2011-12-30
    • 2013-06-08
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多