今天用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')
得到的图为乱码:
解决:
#加一行参数代码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'))
完美显示中文: