R语言如何绘制词云图

什么是词云图?

词云图是一种通过图形化展示文本中关键词汇频率的方式。它将文本中出现频率较高的词汇显示得更大,频率较低的则显示得较小。通过不同的字体、颜色和排布方式,词云图能够直观地呈现出文本的主要内容和主题。

绘图前的数据准备

词云图可以有两种数据格式,一种是词频,另一种是一段话。

一段话

可以用worker函数,将一段话,分词,变为词频,需要合理应用停止词。

例如"新年快乐!在这个崭新的年份里,愿你新年快乐,生活幸福,每一天都充满微笑和喜悦。新年快乐,愿你事业更上一层楼,家庭和谐美满。新年快乐,愿你健康如意,心情愉快,所有的梦想都能在新的一年里实现。无论过去的时光如何,今天都是新的开始,新的希望,新的机会。新年快乐,愿你迎接更美好的明天,快乐常伴,幸福永远在你身边!新年快乐,愿你的一切都如你所愿!"

词频

可以分词,也可以自己提前准备好分词文件

R语言如何绘制词云图

library(jiebaRD) 
library(jiebaR)                 
library(wordcloud2)

# 先将一段文字转成词频
text = "新年快乐!在这个崭新的年份里,愿你新年快乐,生活幸福,每一天都充满微笑和喜悦。新年快乐,愿你事业更上一层楼,家庭和谐美满。新年快乐,愿你健康如意,心情愉快,所有的梦想都能在新的一年里实现。无论过去的时光如何,今天都是新的开始,新的希望,新的机会。新年快乐,愿你迎接更美好的明天,快乐常伴,幸福永远在你身边!新年快乐,愿你的一切都如你所愿!"
initialize = worker(type="full",
                    stop_word="stopwords.txt")
# 停止词文件可以在这里下载https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/wordcloud/stopwords.txt
df=freq(initialize[text]) # 计算词频

# 绘图
wordcloud2(data.frame(df), 
           size = 0.4,                # 字体大小
           fontFamily = 'Segoe UI',   # 字体
           fontWeight = 'bold',       # 字体粗细
           color = 'random-dark',     # 字体颜色
           backgroundColor = "white", # 背景颜色
           minRotation = -pi/4,       # minRotation和maxRotation控制文本旋转角度的范围
           maxRotation = pi/4,
           rotateRatio = 0.4,         # 文本旋转的概率 0.4表示大约有40%的词发生了旋转
           shape = "circle"           # 轮廓形状
)