京公网安备 11010802034615号
经营许可证编号:京B2-20210330
相信大家一定见过各式各样,效果酷炫的词云图,你是不是也想亲自动手制作呢?别着急,今天小编跟大家分享的正是如何用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
在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31在大数据时代背景下,海量行业数据亟需通过专业化工具挖掘潜在价值,辅助企业业务决策、优化运营模式、规避经营风险。Python凭借 ...
2026-08-28SQL是数据分析领域最基础、最核心的工具,承担着取数、清洗、统计、分层、归因的全流程工作。不同于单纯的语法练习,实战化SQL数 ...
2026-08-28 很多企业团队并非缺乏指标,而是陷入“指标失控”:仪表盘上堆满实时跳动的数据,却无法回答“当前瓶颈在哪、下一步该做什么 ...
2026-08-28随着新零售模式的快速普及,零售行业从传统的“货品驱动”全面转向“用户驱动”。门店交易数据、线上消费记录、浏览轨迹、复购频 ...
2026-08-27在数据分析、爬虫采集、接口开发、数据归档等场景中,JSON与CSV是两种使用率最高的数据存储格式。JSON为键值对结构化格式,适配 ...
2026-08-27 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-08-27在数据分析工作中,时间序列是最常见的数据类型之一,订单时间、日志时间、交易时段、统计周期等数据均离不开时间处理。原始数据 ...
2026-08-26在数据分析与数据预处理工作中,原始数据普遍存在录入错误、系统故障、偶然极值等问题,极易产生异常数据。异常数据会严重干扰数 ...
2026-08-26 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-08-26在数理统计与数据分析领域,多因素方差分析与线性回归模型是研究变量关系、因素影响、数据差异规律的两大核心工具。二者均属于经 ...
2026-08-25数据分析的核心价值不在于数据计算与图表制作,而在于清晰、精准、有逻辑地输出结论、支撑业务决策。日常数据分析报告普遍存在结 ...
2026-08-25 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-08-25平均数是数据分析、数理统计与日常运算中最基础、最常用的统计量,核心作用是浓缩一组数据的整体水平、刻画数据集中趋势。在众多 ...
2026-08-24在MySQL数据库中,InnoDB存储引擎作为主流事务型引擎,默认事务隔离级别为可重复读(Repeatable Read,RR),这与SQL Server、Or ...
2026-08-24