【R分享|实战】科白君以词云图祝教师节快乐
直奔主题,上代码:
#install.packages('jiebaR')
#install.packages('wordcloud')
#install.packages('wordcloud2')
#install.packages('webshot')
#install.packages('htmlwidgets')
library(jiebaR)
library(wordcloud)
library(wordcloud2)
library(webshot)
webshot::install_phantomjs() #首次使用需要执行,主要用于导出viewer中的图像
library(htmlwidgets)
setwd("c:/Users/Zz/Desktop") #设置工作路径
zhufu <- readLines("zhufu.txt",encoding ="gbk") #按行导入70条祝福
seg <- qseg[zhufu] #使用qseg类型分词,并把结果保存到对象seg中
seg <- table(seg) #统计词频
seg <- seg[!grepl('[0-9]+',names(seg))] #去除数字
length(seg) #查看处理完后剩余的词数
seg <- sort(seg, decreasing = TRUE)[1:100] #降序排序,并提取出现次数最多的前100个词语
seg #显示如下
#绘制词云图并且赋值给my_cloud
my_cloud <- wordcloud2(seg, size = 1, shape = 'cardioid',
color = ifelse(seg > 20, 'red', 'skyblue')) #cardioid 表示词云以心形为背景,可以通过?wordcloud2看看对应参数的解释
# 由于词云的图生成区域在viewer,以下的方法来保存导出图片
saveWidget(my_cloud,"tmp.html",selfcontained = F) #先保存为网页格式
webshot("tmp.html","wordcloud.jpg", delay = 3,vwidth = 1000, vheight=1000) #在依据网页格式生成jpg图片格式
#其中“delay =”设置在保存图片之前需要等待的时间(单位:秒),这主要是因为字云图要完全显示出绘制的单词时间较慢,需要等到,需要依据显示的单词数量合理设置;
#“vwidth =”和“ vheight=”指定保存时的高宽
运行结果如下图:
欢迎各位进群交流学习,共同进步。