使用Alpha通道将图像从R导出到单词(透明度)

Tom*_*ans 7 graphics r export-to-word

我想将一个R生成的数字输出到Word.该图包含透明度(alpha通道).下面是一些示例代码 - 当导出到Windows图元文件时,它会抛出一个错误:

警告消息:在plot.xy(xy,type,...)中:此设备不支持半透明:每页仅报告一次

导出到SVG会产生所需的结果,但MS Office不支持此图像格式.有没有解决的办法?保留Alpha通道时我可以使用哪种图像类型?PNG是可能的,但这不会产生非常清晰的图形 - 它会丢失清晰的矢量化图像.

# Get some colours with transparency (alpha = 0.6)
col.dot <- rainbow(5, alpha = .6)

# Save to svg file - OK
svg("test_fig.svg")
plot(1:5,col = col.dot, pch=15)
dev.off()

# Save to wmf - warning "semi-transparency is not supported on this device..."
win.metafile("test_fig.wmf")
plot(1:5,col = col.dot, pch=15)
dev.off()
Run Code Online (Sandbox Code Playgroud)

我应该补充一下,这是在Windows系统上(Windows 8 64位,使用Word 2013)

Tom*_*ers 5

我刚刚创建了一个新的软件包,export可以轻松地将R图导出到Office(Word,Powerpoint),请参阅 https://cran.r-project.org/web/packages/export/index.html和演示https:// github. com/tomwenseleers/export.

典型的语法非常简单,例如:

install.packages("export")
library(export)
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
      size = Petal.Width, alpha = I(0.7))     
graph2ppt(file="ggplot2_plot.pptx", width=6, height=5) 
Run Code Online (Sandbox Code Playgroud)

输出是矢量格式,因此在Powerpoint中取消组合图形后可以完全编辑.您还可以使用它导出到Word,Excel,Latex或HTML,还可以使用它导出各种R stats对象的统计输出.

在此输入图像描述

这样就可以生成基于Office矢量的原始DrawingML格式的完全可编辑的高质量Powerpoint图,如果您愿意,也可以将其作为增强型图元文件轻松复制和粘贴,并且与从R导出的EMF不同,它也完全支持透明度.