R 将绘图保存为EMF文件
我对R 将绘图保存为EMF文件,r,plot,R,Plot,我对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
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
如果您试图在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
。最有可能的是,用于查看生成的emf图形的程序不支持emf+记录
正如JMT2080AD的回答中提到的,devEMF库可以生成“EMF”或“EMF+”文件。较新的EMF+格式()自2007年开始出现,并得到了较新的封闭源代码程序(如Office 2010)的支持,但旧程序(如Adobe Illustrator的旧版本)和许多开放源代码程序(如LibreOffice、Inkscape)中的spotty缺少支持
不管是好是坏,EMF+记录嵌入在EMF注释记录中,这意味着旧的程序将默默地忽略它们
我发现devEMF默认值为Microsoft Office 2010和LibreOffice>5.1.6生成可接受的文件。虽然LibreOffice对EMF+的支持不完整,但在调用EMF()
时,默认情况下会关闭不支持的功能。这就是说,JMT2080AD建议在调用emf()
时设置emfPlus=FALSE
,这可能会使更多程序可以查看文件(代价是丢失透明性和抗锯齿等功能)
(披露:我是devEMF软件包的作者)谢谢!出于好奇,什么是
emfPlus
?您可以在帮助中了解它。在R终端中运行?emf
,并查看详细信息部分。我以前从未听说过它,直到我刚才看到这个工具。这似乎是LibreOffice支持的一种新的更通用的EMF格式。有道理,我使用Paint来查看,因为这是查看EMF文件的“建议”应用程序。