install.packages('wordcloud2')
library("wordcloud2")
#查看包内有哪些数据集
print(data(package='wordcloud2'))
#demoFreq Demo dataset with Words and Frequency
#demoFreqC Demo dataset with Chinese character Words and Frequency
#示例命令
wordcloud2(demoFreq, size = 1,shape = 'star')
wordcloud2(demoFreqC, size = 1,shape = 'star')
Rplot.png
要知道输入什么类型的数据,可以通过查看内置数据集demoFreq
head(demoFreq)
# word freq
#oil oil 85
#said said 73
#prices prices 48
#opec opec 42
#mln mln 31
#the the 26
由此可见,输入数据框主要有两行,本质就是列联表,第一列为单词,第二列为这个单词出现的词频。
那么,如何从一个txt文本文档得到列联表呢,需要用到分词神包jiebaR
install.packages("jiebaR")
library("jiebaR")
engine=worker()
segment("data.txt",engine)
#读入数据分隔符是‘\n’,字符编码是‘UTF-8’,what=''表示以字符串类型读入
word<- scan('data.segment.2019-01-15_15_01_01.txt',sep='\n',what='',encoding="UTF-8")
#使用qseg类型分词,并把结果保存到对象seg中
word <- qseg[word]
word <- freq(word)#统计词频
#word <- word[grep(pattern="[0-9]",word[,1]),] #提取含有数字的行
wordcloud2(word ,size,fontfamily,color,fontWeight,backgroundColor,shape)
(1)word:词云生成数据,包含具体词语以及频率;
(2)size:字体大小,默认为1,一般来说该值越小,生成的形状轮廓越明显;
(3)fontFamily:字体,如‘微软雅黑’;
(4)fontWeight:字体粗细,包含‘normal’,‘bold’以及‘600’;;
(5)color:字体颜色,可以选择‘random-dark’以及‘random-light’,其实就是颜色色系;
(6)backgroundColor:背景颜色,支持R语言中的常用颜色,如‘gray’,‘blcak’,但是还支持不了更加具体的颜色选择,如‘gray20’;
(7)minRontatin与maxRontatin:字体旋转角度范围的最小值以及最大值,选定后,字体会在该范围内随机旋转;
(8)rotateRatio:字体旋转比例,如设定为1,则全部词语都会发生旋转;
(9)shape:词云形状选择,默认是‘circle’,即圆形。还可以选择‘cardioid’(苹果形或心形),‘star’(星形),‘diamond’(钻石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五边形);
wordcloud2(demoFreqC,
figPath = "1.png",#图片相对路径
size = 1,
color = 'random-dark')
网友评论