R语言适配问题集锦

画图时的中文乱码问题

我这是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

posted on 2017-06-20 08:44  blfbuaa  阅读(579)  评论(0编辑  收藏  举报