完美解决R完中文无法显示或R语言中文乱码

由于R语言画图时对中文的支持,经常出现乱码,作图很难显示中文,尤其是ggplot2对中文支持不是特别友好,ggplot默认字体不支持显示中文,给许多使用的人带来不便,希望yihui大神能在Rstudio推动一下。
可以有一些变通的处理方法:

使用showtext包

安装showtext包

intall.package("show text");
library(showtext);
dev.new()# 新建图形设备
showtext.begin();# 开始使用showtext
wordcloud(text1$char,text1$freq,scale=c(3,0.3),min.freq=-Inf,max.words=Inf,colors=colors,random.order=F,random.color=F,ordered.colors=F)# 一系列绘图命令
showtext.end();# 停止使用showtext
dev.off()# 关闭图形设备

install.packages("extrafont")
library(extrafont)
font_import()

ggplot

ggplot(data_weekly2,aes(x=rank,y=department,color=event_type,size=workload))+
geom_point()+
scale_size_area(max_size=10)+
facet_grid(.~day)+
theme(text=element_text(family="STKaiti",size=14))

用Cairo包保存图片

用Cairo包进行保存为png、pdf等格式

require(Cairo)
CairoPNG("plot3.png",family="SimSun" )#单位为英寸,此处也可设置保存pdf格式CairoPDF("plot3.pdf",family="SimSun" )
ggplot(data=p, aes(x=diqu, y=Freq,fill=diqu), fill=diqu) +
  geom_bar(stat="identity")+ 
  theme(panel.background=element_rect(fill='transparent',color ="gray"),#背景色设为透明,边框为灰色
        legend.text=element_text(family="SimSun"), #改变图例的字体
        #设定x轴坐标标签的文字方向,大小,颜色
        axis.text.x = element_text(angle = 70, hjust = 0.5, vjust = 0.5,family="SimSun",color = "black",size=9))+
  ylim(0,250)+#设置y轴取值范围
  theme(panel.grid =element_blank())+ ## 删去网格线
  geom_text(mapping = aes(label = p$Freq),size=3,vjust=1.4)#添加数据,并规定数据的大小和位置
dev.off() #关闭图像设备,同时储存图片

用因子替换

使用因子数据变相替换。
举个例子


你可能感兴趣的:(完美解决R完中文无法显示或R语言中文乱码)