完美解決R完中文無法顯示或R語言中文亂碼

由于R語言畫圖時(shí)對(duì)中文的支持,經(jīng)常出現(xiàn)亂碼,作圖很難顯示中文,尤其是ggplot2對(duì)中文支持不是特別友好,ggplot默認(rèn)字體不支持顯示中文,給許多使用的人帶來不便,希望yihui大神能在Rstudio推動(dòng)一下。
可以有一些變通的處理方法:

使用showtext包

安裝showtext包

intall.package("show text");
library(showtext);
dev.new()# 新建圖形設(shè)備
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()# 關(guān)閉圖形設(shè)備

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包進(jìn)行保存為png、pdf等格式

require(Cairo)
CairoPNG("plot3.png",family="SimSun" )#單位為英寸,此處也可設(shè)置保存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"),#背景色設(shè)為透明,邊框?yàn)榛疑?        legend.text=element_text(family="SimSun"), #改變圖例的字體
        #設(shè)定x軸坐標(biāo)標(biāo)簽的文字方向,大小,顏色
        axis.text.x = element_text(angle = 70, hjust = 0.5, vjust = 0.5,family="SimSun",color = "black",size=9))+
  ylim(0,250)+#設(shè)置y軸取值范圍
  theme(panel.grid =element_blank())+ ## 刪去網(wǎng)格線
  geom_text(mapping = aes(label = p$Freq),size=3,vjust=1.4)#添加數(shù)據(jù),并規(guī)定數(shù)據(jù)的大小和位置
dev.off() #關(guān)閉圖像設(shè)備,同時(shí)儲(chǔ)存圖片

用因子替換

使用因子數(shù)據(jù)變相替換。
舉個(gè)例子


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容