R可视化学习—词云图

简介: 词云。又称文字云。“词云”就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出,它会过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

我们这次介绍下如何利用R中的wordcloud2包绘制词云图文档链接,这个包为之前的wordcloud包提供了一个用于数据可视化的HTML5接口。

Begin

安装包


require(devtools)
install_github("lchiffon/wordcloud2")

准备数据


> head(demoFreq)
         word freq
oil       oil   85
said     said   73
prices prices   48
opec     opec   42
mln       mln   31
the       the   26

简单出图


library(wordcloud2)
wordcloud2(data = demoFreq)

e60a97ab8a6768515aff3817b1dc368.png

核心函数就是这个wordcloud2,我们看下这个函数中有哪些参数。

  • data
    准备像上面demoFreq数据集那样的数据框
  • size
    字体大小,默认为1
  • fontFamily
    字体种类
  • fontWeight
    使用的字体粗细,如普通、粗体或600
  • color
    文本的颜色,关键字“random-dark”和“random-light”可以使用。该参数还支持颜色向量
  • backgroudColor
    背景色
  • minRotation
    文本的最小旋转角度。
  • shape(常用)
    词云形状调节。可用的形状有“圆形”(默认)、“心形”(苹果或心形曲线,最著名的极坐标方程)、“菱形”、、“三角形”、“五边形”和“星形”。
    ..... (更多参数?wordcloud查看吧)

示例

设置背景,颜色,形状看下效果


wordcloud2(demoFreq, color = "random-light", backgroundColor = "pink",shape = 'star')

cf10e81d2b1c33528807620b4f10fac.png

文字旋转一下


wordcloud2(demoFreq, minRotation = -pi/6, maxRotation = -pi/6, minSize = 10,
  rotateRatio = 1)

bd1c23a0f791bf98414c4bd18e53f5f.png

自定义图片背景

  • 准备一张照片,注意:必须是黑白的照片
    d8e07d820094751d777cb925721f28d.png
  • 作图如下


# 图片ma.png保存在当前的目录下
wordcloud2(demoFreq, figPath = ‘ma.png’, size = 1.5)

071198c393b7313bbbc26905a788b03.png

注意问题:

在这一步大家可能会遇到一个问题无论怎么设置出图是没有颜色的一直是原始黑白图形。google了一番链接发现原来wordcloud2包在2018年1月3号后就无法再进行自定义词云图绘制了,若要使用只能安装低版本的包去使用,OK,那也很容易,重新安装下就是了。

解决方法:

1. 去Cran上下载0.2.0的包
网址:https://cran.r-project.org/src/contrib/Archive/wordcloud2/

072dc476356415c3109ff2cf3d9d7fa.png

然后我们本地安装R包即可。

a4c6802f7f7307c4027475c255c0b99.png

2. 另一种方法,使用wherepackage包查询安装,这个包可以安装Cran上任何版本的R包,这里我们先用,以后有时间写R包安装时再作讨论,想学习的可先去Github看看,Y叔公众号之前也有介绍过。


#安装
install.packages('wherepackage')
# 或者
remotes::install_github('yikeshu0611/wherepackage')
library('wherepackage')
#加载Cran上的包
d = loadData()
# 查询wordcloud2包Cran上发行的版本
where(data = d,packages = c('wordcloud2'))
    package  source       version      mtime
1 wordcloud2 Archive         0.2.0 2016-07-25
2 wordcloud2    CRAN current:0.2.1 2018-01-03
#安装
remotes::install_version('wordcloud2','0.2.0')

我们通过以上的代码发现现在电脑上装的是v0.2.1版本的,若要使用我们需要装回0.2.0版本,直接remotes::install_version('wordcloud2','0.2.0')即可。

使用字体做背景

这里主要是利用另外一个核心函数letterCloud,同样参数不再过多介绍,直接?letterCloud自己看吧


letterCloud(demoFreq, word = "R", size = 2)

7dfe9587b547089a4bfef96c7958e4a.png


letterCloud(demoFreq, word = "WORDCLOUD2", wordSize = 1)

d95ec66fb08d60ac0a9b63aa133fcc0.png

中文词云使用

我们可以仿照上面词云文件制作个中文数据表,比如你的LOL英雄使用场次做个词云图。导入中文文件时候注意加上fileEncoding = ‘utf8’参数防止你的文件导入后乱码。

输入文件格式:

9225136518a868f8b9934633e732afe.png

作图


data <- read.table('data.txt', row.names = 1, header = T,fileEncoding = 'utf8')
# 频率从大到小排序
data <- arrange(data,desc(freq)) 
wordcloud2(data, size = 1, shape='cardioid',color = 'random-dark', backgroundColor = "pink",fontFamily = "微软雅黑")

7fe235bc43a5dd9b8199541bfc13982.png

在线词云网站

对写代码不太熟悉的同学这里也有一些国内外在线词云图的网站推荐,也可以试试,使用无非都是输入频率文件生成图行,有的我也没有用过,大家自行探索吧~~~

简单看几个:

WordArt

a7d71fe61bb6e14485fabf9174cdf7e.png

ToCloud

6033b2c984300c87ff7cd12aa2e28be.png

图悦

image.png

相关文章
|
人工智能 数据可视化 Go
R绘图实战|GSEA富集分析图
GSEA(Gene Set EnrichmentAnalysis),即基因集富集分析,它的基本思想是使用预定义的基因,将基因按照在两类样本中的差异表达程度排序,然后检验预先设定的基因集合是否在这个排序表的顶端或者底端富集。
2696 0
R绘图实战|GSEA富集分析图
|
6月前
|
自然语言处理 数据可视化
【词云图绘制实战】——数据准备、清洗、多形式展示
【词云图绘制实战】——数据准备、清洗、多形式展示
|
5月前
|
搜索推荐 数据可视化 前端开发
ECharts 词云图案例【用户画像】:创意蒙版应用
使用ECharts创建词云图,结合蒙版技术提升可视化创意。通过设置`maskImage`属性,将自定义图像作为词云的外形,如用户画像。案例中详细介绍了HTML结构、ECharts配置及蒙版图像加载过程,鼓励探索SVG路径和CSS样式以实现更多个性化效果。代码和依赖可下载,激发更多数据可视化灵感。
183 0
 ECharts 词云图案例【用户画像】:创意蒙版应用
|
JavaScript 数据可视化 前端开发
[数据可视化]绘制持仓榜单的“棒棒糖图”
首先对数据进行清洗和处理, pandas读取数据,这里需要去除 000905_SH 列,以及删除全0行。
|
6月前
|
数据可视化
Tableau可视化设计案例-03基本表、树形图、气泡图、词云
Tableau可视化设计案例-03基本表、树形图、气泡图、词云
|
数据可视化
R语言数据可视化-词云图
R语言数据可视化-词云图
129 0
|
数据可视化 数据挖掘
R语言数据可视化-气泡图
气泡图(Bubble Chart)是一种展示三个或更多变量之间关系的二维图表。它与散点图类似,但是在每个数据点处加上了一个圆圈,圆圈的大小和第三个变量相关。因此气泡图不仅可以用于显示两个变量之间的关系,还可以同时显示第三个变量的大小或重要性,增加了数据展示的可读性和信息量。
412 0
|
数据采集 数据可视化 算法
数据分析可视化常用图介绍以及相关代码实现(箱型图、Q-Q图、Kde图、线性回归图、热力图)
数据分析可视化常用图介绍以及相关代码实现(箱型图、Q-Q图、Kde图、线性回归图、热力图)
|
数据采集 数据可视化
|
数据采集 自然语言处理 数据可视化
数据分析实例-获取某宝评论数据做词云图可视化
数据分析实例-获取某宝评论数据做词云图可视化
413 0
数据分析实例-获取某宝评论数据做词云图可视化