
相信大家一定见过各式各样,效果酷炫的词云图,你是不是也想亲自动手制作呢?别着急,今天小编跟大家分享的正是如何用R语言制作词云图,废话不多说,一起来看吧。
以下文章来源于:AI入门学习
作者:伍正祥
所谓词云,即词频到 词大小的映射,也就是说,在某段文本语料中,某个词出现的次数越多,在画词云时个头越大。
词云的用处很多,比如可以把自己的简历分词,按头像画词云、不同文章关键词对比、不同人物画像对比等,简单明了,还显得特别有逼格。
因此,大部分的词云工具,要求输入词以及对应的词频即可,部分网站可以直接输入文章,自动分词提取词频。本文主要介绍利用R语言进行词频分析,并绘制词云图,如果不想使用R语言,可以看上一篇文章《装逼神图—词云(在线制作)》,直接在线绘图。
一、词云相关R包的安装
1、词云相关的包
install.packages('wordcloud2')
install.packages('jsonlite')
如果安装的有问题,按下面的方法安装
install.packages('devtools')
devtools::install_github("lchiffon/wordcloud2")
安装好后,进行加载
library(wordcloud2)
2、分词要用的包
分词用的是结巴分词,安装与加载
install.packages('jiebaR')
library(jiebaR)
二、对预料进行分词
#构建分词器
mixseg = worker()
#添加自定义词典
#user_myself = read.csv("user_myself.csv",header=T)
#user_myself = as.vector(user_myself[[1]])
#new_user_word(mixseg,user_myself)
#添加停用词词典,添加了'而','的','我'等词
mixseg = worker(stop_word = "stopword.txt")
#分词开始,下面是朱自清的《匆匆》,不进行停用词处理和自定义词典
texts = '燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时 候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他 们罢:那是谁?又藏在何处呢?是他们自己逃走了罢——如今又到了哪里呢?我不知道他们给了我多少日子,但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去,像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身上跨过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟,被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着像游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸的回去罢?但不能平的,为什么偏要白白走这一遭啊?你聪明的,告诉我,我们的日子为什么一去不复返呢?'
#分词
segment = segment(texts,mixseg)
#词频统计
segment = freq(segment)
#按词频降序排列
library(dplyr) #没有安装个
segment = arrange(segment,-freq)
#词云绘制
wordcloud2 (segment, size = 1,shape = 'circle')
letterCloud(segment,"C")
三、绘图包及基本函数介绍
wordcloud2包主要有两个函数:
wordcloud2 --- 绘制各种图形词云
letterCloud -----绘制各种 ‘字符’云
#用包中的数据集直接绘图
wordcloud2(demoFreq)
letterCloud(demoFreq,"R", size = 2)
#可以通过调整各种参数和形状
wordcloud2(demoFreq, size = 2)
wordcloud2(demoFreq, size = 1,shape = 'pentagon')
wordcloud2(demoFreq, size = 1,shape = 'star')
letterCloud(demoFreq,"LOVE", size = 2)
#上传图片进行绘图
wordcloud2(demoFreq, figPath = 'yun.jpg')
#常用函数详细参数及常用参数介绍
wordcloud2(data, size = 1, minSize = 0, gridSize = 0, fontFamily = NULL,fontWeight = 'normal', color = 'random-dark', backgroundColor = "white", minRotation = -pi/4, maxRotation = pi/4, rotateRatio = 0.4, shape = 'circle', ellipticity = 0.65, widgetsize = NULL)
常用参数:(1)data:词云生成数据,包含具体词语以及频率;(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)rotationRation:字体旋转比例,如设定为1,则全部词语都会发生旋转;(9)shape:词云形状选择,默认是‘circle’,即圆形。还可以选择‘cardioid’(苹果形或心形),‘ star ’(星形),‘diamond’(钻石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五边形)
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10在科研攻关、工业优化、产品开发中,正交试验(Orthogonal Experiment)因 “用少量试验覆盖多因素多水平组合” 的高效性,成为 ...
2025-10-10在企业数据量从 “GB 级” 迈向 “PB 级” 的过程中,“数据混乱” 的痛点逐渐从 “隐性问题” 变为 “显性瓶颈”:各部门数据口 ...
2025-10-10在深度学习中,“模型如何从错误中学习” 是最关键的问题 —— 而损失函数与反向传播正是回答这一问题的核心技术:损失函数负责 ...
2025-10-09本文将从 “检验本质” 切入,拆解两种方法的核心适用条件、场景边界与实战选择逻辑,结合医学、工业、教育领域的案例,让你明确 ...
2025-10-09在 CDA 数据分析师的日常工作中,常会遇到这样的困惑:某电商平台 11 月 GMV 同比增长 20%,但究竟是 “长期趋势自然增长”,还 ...
2025-10-09Pandas 选取特定值所在行:6 类核心方法与实战指南 在使用 pandas 处理结构化数据时,“选取特定值所在的行” 是最高频的操作之 ...
2025-09-30球面卷积神经网络(SCNN) 为解决这一痛点,球面卷积神经网络(Spherical Convolutional Neural Network, SCNN) 应运而生。它通 ...
2025-09-30