画图时的中文乱码问题
我这是Mac Yousemite 10.10.5,在两个地方遇到了中文乱码
1、使用wordcloud包绘制中文标签云时。
library(wordcloud)
mydata <- read.csv('word-count.txt',header=T,stringsAsFactors=F)
jpeg(filename='wordcloud.jpg', width=800,height=800,units='px')
mycolor <- colorRampPalette(c("gray", "red"))(200)
par(family='STKaiti')#解决方式是加上这一句。关于详细的字体名称,能够通过这个命令查看:fc-list :lang=zh-cn
wordcloud(mydata$name,mydata$count,c(6,0.8),random.order=FALSE,color=mycolor)
dev.off()
2、使用igraph绘制社交关系图时
library(igraph)
#读取数据,注意编码格式是utf-8
singer <- read.csv('singers.txt', head=T,fileEncoding='UTF-8',encoding='UTF-8',stringsAsFactors=F)
#载入数据框
#g <- graph_from_data_frame(singer,directed=TRUE)
g <- graph.data.frame(singer,directed=TRUE)
#生成图片。大小是800*800px
jpeg(filename='singers.jpg',width=800,height=800,units='px')
par(family='STKaiti')#这里设置main属性的中文字体,以免其出现中文乱码。
plot(g,
vertex.size=5, #节点大小
layout=layout.fruchterman.reingold, #布局方式
vertex.shape='none', #不带边框
vertex.label.cex=1.5, #节点字体大小
vertex.label.color='red', #节点字体颜色
vertex.label.font=4,
main='歌星关系图谱',
vertex.label.family='STKaiti',#这里设置每一个vertex节点的中文字体。以免其出现中文乱码。
edge.arrow.size=0.7) #连线的箭头的大小
#关闭图形设备,将缓冲区中的数据写入文件
dev.off()
3、读取本地文件时。本地文件务必使用UTF-8存储。由于R内部的默认编码就是UTF-8