R语言pdf输出中文乱码处理

1、使用基础包。使用函数pdf()输出

在使用pdf()函数时,要输出中文,仅仅有一种字体可选。

样例:

pdf("chinese.pdf",family="GB1")
plot(m2,xlab="高度",ylab="体重",main="统计")
dev.off()

这里字体參数family仅仅能设置成"GB1"(不知是否还有其它字体可选),默认宋体。


2、使用Cairo包。使用CairoPDF()函数输出

在使用Cairo包时,进行中文输出时,能够选择多种字体。只是这个包要先下载安装。

样例:

CairoPDF("chinese.pdf",family="SimSun")
plot(1:10,1:10,type="n");
text(2,10,"宋体",family="SimSun");
text(2,8,"黑体",family="SimHei");
text(2,6,"楷体",family="KaiTi_GB2312");
text(2,4,"隶书",family="LiSu");
text(2,2,"幼圆",family="YouYuan");
text(6,10,"Arial",family="Arial");
text(6,8,"Times New Roman",family="Times New Roman");
text(6,6,"Courier New",family="Courier New");
text(6,4,"Consolas",family="Consolas");
text(6,2,"Symbol",family="Symbol");
dev.off();

family參数为字体名称,如宋体:SimSun。黑体:SimHei。

附字体-名称映射表:

新细明体,    PMingLiU ,            
细明体,      MingLiU,            
标楷体,      DFKai-SB,           
黑体,        SimHei,             
宋体,        SimSun ,            
新宋体,      NSimSun,            
仿宋,        FangSong,           
楷体,        KaiTi,              
仿宋_GB2312, FangSong_GB2312,    
楷体_GB2312, KaiTi_GB2312,       
微软正黑体,  Microsoft JhengHei,
微软雅黑,    Microsoft YaHei,    
隶书,        LiSu,               
幼圆,        YouYuan,            
华文细黑,    STXihei,            
华文楷体,    STKaiti,            
华文宋体,    STSong,             
华文中宋,    STZhongsong,        
 华文仿宋,   STFangsong,         
方正舒体 ,   FZShuTi,            
方正姚体,    FZYaoti,            
华文彩云,    STCaiyun,           
华文琥珀,    STHupo,             
华文隶书,    STLiti,             
华文行楷,    STXingkai,          
华文新魏,    STXinwei 

原文地址:https://www.cnblogs.com/yangykaifa/p/6893548.html