其他
图片含有中文生成PDF是乱码怎么办?
如果你的图片中有中文,那你生成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这个路径下,然后你选中一个字体,右键单击,点击属性,就可以看到字体名字了,复制一下就是你需要的第二个参数。
然后你就能愉快的使用各种字体了~
以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发!
欢迎在评论区留言或直接添加我的微信!
欢迎关注公众号:医学和生信笔记
“医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!
往期回顾
让你的图片中文不再乱码!
画一个好看的森林图
corrplot包可视化相关矩阵详解
R语言ggsci配色包详解
让你的ggplot2主题支持markdown和css