这篇文章源于我自己使用R及RStudio数据处理时遇到的问题,R非常强大,但是在中文支持方面还是不是很完美,比如遇到你想导出一个含有中文的图,就会遇到问题。比如有这样一个简单的图:
data
plot(data,xlim=c(1,3),ylim=c(2,3),
xlab="x轴",ylab="y轴",main="测试图",
type = 'l')
我的需求:
1.导出高清图
2.图片正常显示中文
3.图片中的文字可以被第三方软件比如Adobe Illustrator编辑修改,比如字体,大小这些在Ai中修改会很方便
看起来很简单,但是我之前找了很多方法,导出都不奏效:
1,如果直接在RStudio里Plots导出为PDF或者是EPS,会直接显示乱码
2,有教程推荐使用showtext,Cario包
library(showtext)
library(Cairo)
font_add("msyh", "msyh.ttf");
CairoPDF("TEST.pdf",family = "msyh")
showtext_begin()
data
plot(data,xlim=c(1,3),ylim=c(2,3),
xlab="x轴",ylab="y轴",main="测试图",
type = 'l')
showtext_end()
dev.off()
这样的确可以在PDF文档里面完美显示中文,但是这样生成的文件无法使用Ai对文字直接进行编辑。
之前在知乎发帖求助,也一致收到正确答复,直到今天遇到神包export
library(export)
data
plot(data,xlim=c(1,3),ylim=c(2,3),xlab="x轴",ylab="y轴",main="测试图",type = 'l')
graph2pdf(file="TEST.pdf",font="GB1")
这样生成的图片,是高分,可以完美显示中文,而且可以在Ai中直接编辑。
这个包的功能不仅如此哦,还可以直接导出为word,ppt,并且导出的图片在office里所有元素都是分离的,而且是矢量格式,你可以修改字体,改大小,改颜色,真乃神器,强烈安利!!