由于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() #关闭图像设备,同时储存图片
用因子替换
使用因子数据变相替换。
举个例子