词云

2018-09-03

2018-09-03
词云图

  “词云”是对文本中出现频率较高的“关键词”给予视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览者只要一眼扫过文本就可以初步领略文本的主旨。

1 绘制词云图


  词云图是通过把带有分词及词频的数据按照频次高低绘制的图形。 绘制词云图要用到wordcloud2和letterCloud,wordcloud2提供了基本的词云功能,letterCloud可以使用选定的词绘制词云,词可以是英文,也可以是中文。

library(wordcloud2) # 绘制词云图加载包
library(readxl) # 数据加载包
a=read_excel("E:/R总体代码/词云数据及代码/词云需求图P.xlsx") # 读取数据
str(a)
## Classes 'tbl_df', 'tbl' and 'data.frame':    150 obs. of  2 variables:
##  $ 词  : chr  "cooker" "html" "Http" "IP" ...
##  $ 词频: num  11 74 65 66 56 57 89 68 42 82 ...

  通过数据结构信息可得知,该数据包含两个变量,分别为分词和词频,数据共140条,也就是共有140个词。

1.1 绘制系统自带词云图

  通过利用wordcloud2绘制词云图,size:字体大小,一般默认为1,数值越小,生成的形状轮廓越明显;

  shape:表示词云形状选择,默认是‘circle’,即圆形;还可以选择‘cardioid’(苹果形或心形);‘star’(星形);‘diamond’(钻石);‘triangle-forward’(三角形);‘triangle’(三角形);‘pentagon’(五边形)。

  下面是对系统自带的形状进行绘制词云图。

star<-wordcloud2(a, size = 0.22,shape='star')

  执行上述代码,将形状设置为星星形状,字体大小设置为0.22。

  通过观察词云图和数据得知,频次较高的词在词云图中的字体越大。

circle<-wordcloud2(a, size = 0.22,shape='circle')

  执行上述代码,将形状设置为圆圈形状,字体大小设置为0.22。

1.2 自定义绘制词云图

  利用再用letterCloud绘图,可以根据设定的字符,生成一个与之形状相同的词云。

R<-letterCloud(a,word= "R",wordSize=0.4) # 绘制大写字母R词云图

2 本章汇总


参数 类别 功能
wordcloud2 绘制词云图
readxl 读取EXCLE格式数据
size 参数 字体大小
shape 形状 图形形状
letterCloud 函数 设定字符,绘制词云图