绘图系列|R-wordcloud2包绘制词云

简介: 绘图系列|R-wordcloud2包绘制词云

本文首发于“生信补给站”公众号 绘图系列|R-wordcloud2包绘制词云

前段时间读完大刘的流浪地球,本来想着写点东西... 结果“懒癌”了,今天就先弄个词云凑合吧( ╯□╰ )。

   词云首先需要将下载好的“流浪地球”的文本文件读入R,然后使用jieba包对文本进行分词,然后绘制词云。


一 数据准备

载入所需的R包,准备好流浪地球的txt格式的文本文件。


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


二 分词,统计词频

使用jieba包对文本进行分词。


engine = worker() 
segment("流浪地球.txt",engine)
data <- scan('流浪地球.segment.2019-04-09_22_36_54.txt',sep='\n',what='',encoding="UTF-8") 
data2 <- freq(data)
data2 <- qseg[data]
data.words <- data2
head(data.words)


三 去掉停词

   过滤掉类似“的”,“你”,“我们”等类似的无意义的停词,并可根据自己需要设置词频的个数。


#过滤掉1个字的词
data.words <- subset(data.words, nchar(as.character(data.words))>1) 
#过滤停词
stop=read.table(file=file.choose(),colClasses="character") 
stopwords=c(NULL) 
for(i in 1:dim(stop)[1]){ 
stopwords=c(stopwords,stop[i,1]) 
}
for(j in 1:length(stopwords)){ 
data.words <- subset(data.words,data.words!=stopwords[j]) 
}

四 统计词频

4.1 统计词频


data.freq <- table(unlist(data.words)) 
data.freq <- rev(sort(data.freq)) 
data.freq <- data.frame(word=names(data.freq), freq=data.freq)

4.2 根据需要过滤频次

#按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数
data.freq=subset(data.freq, data.freq$freq.Freq>=2) 
head(data.freq)
   word freq.Var1 freq.Freq
1   地球      地球       164
2   太阳      太阳        95
3 发动机    发动机        60
4   人类      人类        35
5   地面      地面        30
6   木星      木星        28

五  绘制词云

5.1 图形设定为“star”


wordcloud2(data.freq[,2:3],color = "random-light", backgroundColor = "grey",shape = 'star')

image.png

5.2 汉字图形展示


letterCloud(data.freq[,2:3],word="地球",size = 2)

image.png

5.3 指定图形

指定的背景图需要在R包的example文件夹中,本例为微信的开机图,然而不像,,,鬼知道咋回事啊。


world = system.file("examples/download1.jpg",package = "wordcloud2")
wordcloud2(data.freq[,2:3], figPath = world, size = 1,color = "black")

image.png


OK,词云绘制完毕。


你确定你不想看看你喜欢的书,杂志,都主要是说的些什么?

你确定你不想看看唐诗三百首,都主要是用的哪些词?

你确定你不想看看四六级,考研英语,都主要有哪些高频词汇,不是省了买本书?

你确定你不想看看各种影评,弹幕都是吐槽或者感概的啥?

相关文章
|
Web App开发 存储 缓存
RDMA优化整理(一)
简要的介绍了下RDMA的背景,并给出了一些RDMA编程优化技巧
5138 1
RDMA优化整理(一)
|
7月前
|
机器学习/深度学习 搜索推荐 算法
2026版基于Python的旅游景点推荐系统:技术解析与实现路径
在数字化浪潮下,旅游业迈向智能化转型。2026版基于Python的旅游景点推荐系统,融合大数据、机器学习与可视化技术,破解信息过载难题。通过协同过滤与内容过滤混合算法,精准匹配用户偏好;利用Scrapy爬取多源数据,Echarts实现动态展示,Django构建交互界面,打造个性化、实时化、可视化的智能推荐平台,提升用户体验与决策效率。
518 0
|
Java Spring
从@Async案例找到Spring框架的bug:exposeProxy=true不生效原因大剖析+最佳解决方案【享学Spring】(上)
从@Async案例找到Spring框架的bug:exposeProxy=true不生效原因大剖析+最佳解决方案【享学Spring】(上)
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。
pyqt5界面化开发---抽屉布局界面的开发
pyqt5界面化开发---抽屉布局界面的开发
|
人工智能 自然语言处理
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
RWKV-7是RWKV系列的最新大模型架构版本,具有强大的上下文学习能力,超越了传统的attention和linear attention范式。本文详细介绍了RWKV-7的主要功能、技术原理及其在多语言处理、文本生成等领域的应用场景。
1225 7
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
|
人工智能 并行计算 PyTorch
AI计算机视觉笔记十八:Swin Transformer目标检测环境搭建
本文详细记录了Swin Transformer在AutoDL平台上的环境搭建与训练过程。作者从租用GPU实例开始,逐步介绍了虚拟环境的创建、PyTorch安装、mmcv及mmdetection的配置,并解决了安装过程中遇到的各种问题,如cython版本冲突等。最后,通过修改代码实现目标检测结果的保存。如需了解更多细节或获取完整代码,请联系作者。原文链接:[原文链接](请在此处插入原文链接)。
1507 5
|
索引 Python
python使用elasticsearch的详细过程
python使用elasticsearch的详细过程
1166 1
|
资源调度 JavaScript 前端开发
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
这篇文章介绍了在Vue 2项目中如何通过`v-viewer`插件实现图片的预览、切换、缩放、旋转等功能,并提供了插件的安装、配置和使用方法。
5451 0
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
|
人工智能 监控 测试技术