2015-10-15 56 views
2

我使用R导出简单的箱式图,并且这些图应用于发布,我使用R svg()和RdevSVG()驱动程序将它们导出为svg。R svg或RdevSVG盒形图无法在Illustrator和Inkscape中打开

svg ("svg.svg") 
boxplot(list, main="Title",outline=FALSE,las=2, cex.axis=3, cex.main=3, lwd=2, cex.lab=2, ylim=c(-1.72413913131201, 2.26778683805536)) 
dev.off() 

devSVG("devSVG.svg") 
boxplot(list, main="Title",outline=FALSE,las=2, cex.axis=3, cex.main=3, lwd=2, cex.lab=2, ylim=c(-1.72413913131201, 2.26778683805536)) 
dev.off() 

文件svg.svg呈现在Inkscape中可以,并且可以与图像magick一起使用。将它转移到colaborators MAC并用illustrator打开它会使文件无用,因为文本完全阻止了所有的数字。

文件devSVG.svg绝对无法使用,因为文本甚至无法使用inkscape读取。

我希望你能帮助我,但是当我找到它时我也会发布我的解决方案。

回答

0

是的,我找到了答案,并希望在这里;-)

的唯一方式记录它得到两个Inkscape中和插画接缝使用SVG文件为:

(1)R导出为PDF格式使用

pdf ("pdf.pdf") 
boxplot(list, main="Title",outline=FALSE,las=2, cex.axis=3, cex.main=3, lwd=2, cex.lab=2, ylim=c(-1.72413913131201, 2.26778683805536)) 
dev.off() 

(2)使用Inkscape中重新缩放画布

File -> document properties -> Resize page to drawing or selection 

(3)将文件保存为svg

此SVG文件在使用inkscape和illustrator时看起来不错。

希望这篇文章后来就节省了时间......

+0

那么你是从光栅文件创建一个矢量文件? 'CairoSVG'怎么样? (如果你有能力)。 – 2015-10-15 09:05:34

+0

抱歉拼写错误! PNG是错误的 - 我作为PDF导出... PDF到我的知识也是矢量格式。 CairoSVG对我而言不为人知 - 谢谢。 已安装 - 已测试 - 失败:-( 结果与单独svg驱动程序相同,至少在我的Fedora20系统上。 – Stefan

+0

不,它是一种光栅格式。 – 2015-10-15 09:28:37

0

我想你只需要你的大小或devRSvgDevice尝试editSVG功能。

library(RSvgDevice) 
editSVG(boxplot(count ~ spray, data = InsectSprays, col = "lightgray")) 

大小svgdevSVG,只是提供一个明确的heightwidth。用你的例子。

svg("svg.svg", height = 12, width = 16) 

boxplot(
    list, main="Title",outline=FALSE,las=2, 
    cex.axis=3, cex.main=3, lwd=2, cex.lab=2, 
    ylim=c(-1.72413913131201, 2.26778683805536) 
)