我想将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()
我应该补充一点,这是在Windows系统上(Windows 8 64位,使用Word 2013)
答案 0 :(得分: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)
输出是矢量格式,因此在Powerpoint中取消组合图形后可以完全编辑。您还可以使用它导出到Word,Excel,Latex或HTML,还可以使用它导出各种R stats对象的统计输出。
这样可以生成基于Office矢量的原始DrawingML格式的完全可编辑的高质量Powerpoint图表,您也可以轻松复制和格式化。如果您愿意,可以粘贴为增强型图元文件,与从R导出的EMF不同,它也完全支持透明度。
答案 1 :(得分:2)
在win.metafile
的帮助下:
支持线条,填充和文字的半透明颜色 在屏幕设备上。这些用于保存(从“文件”菜单)到 PDF,PNG,BMP,JPEG和TIFF,但如果保存到将被忽略 图元文件和PostScript。
因此,您无法在图元文件中使用透明度。您可以尝试保存为png并提高输出的分辨率。