如果你的图片中有中文,那你生成PDF格式时,就会出现乱码!网上有很多解决方法,比如说使用Cairo
包,但是对我来说,没用,不管怎么弄中文就是乱码!
比如下面这样,正常情况应该是这样一张图:
plot(1:10,1:10,main = "这是中文大标题",sub = "这是中文小标题",xlab="这是横轴",ylab="这是纵轴")
但是如果你生成PDF格式,就会变成乱码:
pdf("chinese.pdf")
plot(1:10,1:10,main = "这是中文大标题",sub = "这是中文小标题",xlab="这是横轴",ylab="这是纵轴")
dev.off()
是不是很烦躁?
比较通用的解决方式是用showtext
包。使用起来非常简单!
library(showtext) # 加载R包
showtext_auto() # 就是这句代码!
接下来你保存为PDF格式也不会乱码了:
pdf("chinese1.pdf")
plot(1:10,1:10,main = "这是中文大标题",sub = "这是中文小标题",xlab="这是横轴",ylab="这是纵轴")
dev.off()
而且你还能随意更改字体:
font_add("fzst", "FZSTK.TTF")
pdf("chinese2.pdf")
plot(1:10,1:10,main = "这是中文大标题",sub = "这是中文小标题",xlab="这是横轴",ylab="这是纵轴",family = "fzst") # 只要和你定义的名字一样就行!
dev.off()
font_add()
函数使用起来也是非常简单,一般只需要提供2个参数,第一个是随便一个字符串,真的是随便,第2个是你的字体名字。
正常来说对于Windows用户来说,你的字体在C:\Windows\Fonts这个路径下,然后你选中一个字体,右键单击,点击属性,就可以看到字体名字了,复制一下就是你需要的第二个参数。
然后你就能愉快的使用各种字体了~
以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发!
联系客服