打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
图片含有中文生成PDF是乱码怎么办?

如果你的图片中有中文,那你生成PDF格式时,就会出现乱码!网上有很多解决方法,比如说使用Cairo包,但是对我来说,没用,不管怎么弄中文就是乱码!

比如下面这样,正常情况应该是这样一张图:

plot(1:10,1:10,main = "这是中文大标题",sub = "这是中文小标题",xlab="这是横轴",ylab="这是纵轴")
image-20220417183915924

但是如果你生成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这个路径下,然后你选中一个字体,右键单击,点击属性,就可以看到字体名字了,复制一下就是你需要的第二个参数。

然后你就能愉快的使用各种字体了~

以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
R保存pdf出现中文乱码
TeXworks打印中文PDF上不现实或显示乱码
公式字体乱码了?解决中文乱码有效!
Matplotlib中文乱码的3种解决方案
手机PDF档中文支持(乱码问题)解决攻略
JasperReport和JasperReport Studio(iReport)生成PDF中文乱码的解决方案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服