MAC系统ggplot2画图中文乱码解决方法

今天用ggplot2画图(MAC,Rstudio),因为数据列名和行名涉及到中文,结果画图后中文乱码:

以下用一个测试数据阐述发生乱码过程解决方案

#创建一个带中文的测试文件tex_table
横坐标<-c(90,90,80,80,80,70)
纵坐标<-c(22,90,80,80,80,70)
标记<-c(90,90,80,80,80,70)
#合并,得到矩阵
tex_table<-(cbind(横坐标,纵坐标,标记))
class(tex_table)
#将矩阵转化为数据框
tex_table=data.frame(tex_table)
#预览一下
list(tex_table)
#     横坐标 纵坐标 标记
#1     90     22   90
#2     90     90   90
#3     80     80   80
#4     80     80   80
#5     80     80   80
#6     70     70   70

开始画图

library(ggplot2)
ggplot(tex_table,aes(x=横坐标, y=纵坐标,fill=标记))+
  geom_bar(stat='identity')

得到的图为乱码:

MAC系统ggplot2画图中文乱码解决方法_第1张图片
image-20180914021704081.png

解决:

#加一行参数代码theme(text = element_text(family='Kai'))
#使用了"Kai",这个应该是种字体
#我自己在尝试的时候加了很多网上的字体,"SimSun"、"STXihei"等等,只有这个“Kai”可以解决
ggplot(tex_table,aes(x=横坐标, y=纵坐标,fill=标记))+
  geom_bar(stat='identity')+
  theme(text = element_text(family='Kai'))

完美显示中文:


MAC系统ggplot2画图中文乱码解决方法_第2张图片
image-20180914022451744.png


参考文章:
R画图中英文字体完美解决方案
RStudio Server中使用ggplot2绘图的中文问题

你可能感兴趣的:(MAC系统ggplot2画图中文乱码解决方法)