首页 前端知识 词云图绘制 美化(修改参数) 保存html

词云图绘制 美化(修改参数) 保存html

2024-03-03 11:03:15 前端知识 前端哥 474 923 我要收藏

下面使用R语言进行绘制词云图

       词云图是一种用来展现高频关键词的可视化表达,通过文字、色彩、图形的搭配,产生有冲击力地视觉效果,而且能够传达有价值的信息

一、介绍wordcloud2包和数据集

       下面使用R语言中的wordcloud2 包创建词云图

如果没有wordcloud2 包,先通过下面语句进行安装

install.packages("wordcloud2")

       wordcloud2 包可以根据不同的词语权重自定义字体大小、颜色和布局模式,并且支持更加灵活的配置选项,使得生成的词云图更加精美和逼真。

        数据集采用Wordcloud2包自带数据集demoFreqC

        demoFreqC数据集如下所示,第一列是关键词,第二列是关键词对应的频数

     demoFreqC数据集的维度如下,即有885个关键词,2列数据

二、画图 

(一)加载包

library(wordcloud2) # 加载包
data(demoFreqC)#加载数据集

View(demoFreqC)#查看数据集
dim(demoFreqC)#数据集维度

(二)画基础词云图

wordcloud2(demoFreqC)

       只需要在wordcloud2()函数中填入需要画词云图的数据即可,数据中应该是两列数据,即关键词与频率。在这个例子中,数据就是demoFreqC。

(三) 词云图-修改词云大小

wordcloud2(demoFreqC, size = 2)
#如果不设置size,则默认为1,设置成了2,词云图字会明显变大。

size控制字体的大小,如果不设置size,则默认为1,这里设置成了2,词云图字明显比上图字体大了

 (四) 词云图-修改形状

wordcloud2(demoFreqC, shape = 'star',size=0.5)

 shape控制词云图的形状

默认'circle',也就是圆形

这里选择了shape="star",也就是将词云图的形状设置成了五角星形

其他形状有:

'cardioid'(心形,也是最受欢迎的形状)

'diamond' (钻石形状)

'triangle-forward'(朝前的三角形)

'triangle'(三角形)

'pentagon'(五边形)

大家可以试一下

 (五) 词云图-修改关键词颜色

wordcloud2(demoFreqC, size = 0.5,shape="pentagon",
           color = "random-light")

 color控制关键词颜色

这里color="random-light",也就是关键词的颜色设置成了"随机浅色",如下:

在wordcloud2库中,color参数有多种可选项,包括:
1. "random":随机颜色。
2. "random-dark":随机深色。
3. "random-light":随机浅色。
4. "black":黑色。
5. "white":白色。
6.“red”:红色  等等

试想如果color="white",结果是什么呢?

wordcloud2(demoFreqC, size = 0.5,shape="pentagon",
           color = "white")

最后出来的是一个空白界面,那么关键词去哪里了呢?

是因为图的背景是白色的,关键词的颜色也是白色,所以没有出来想要的词云图,那么怎么解决呢?试想如果将图的背景颜色改成非白色,那么是不是就能显示出词云图来了呢?

下面谈一谈修改图的背景颜色

 (六) 词云图-修改图的背景颜色

wordcloud2(demoFreqC, size = 0.5,shape="star",
           color = "white", backgroundColor = "darkgrey")

backgroundColor控制图的背景颜色

这里设置backgroundColor="darkgrey",也就是将图的背景颜色设置成了黑灰色,关键词的颜色还是白色

看下面的词云图,白色的关键词就显示出来了

 除了"darkgrey"之外,常用的颜色还有"black"、"white"、"grey"等等

(七) 词云图-修改旋转角度

wordcloud2(demoFreqC,
           size = 0.5,
           shape = "star",minRotation = 30, maxRotation = 45,
           rotateRatio = 1
           )

①minRontatin与maxRontatin:

字体旋转角度范围的最小值以及最大值,字体会在该范围内随机旋转,具体旋转角度随机
②rotateRatio:用于控制词云中每个单词旋转的概率。字体旋转比例,如设定为1,则全部词语都会发生旋转

它的取值如果小于等于0,则表示全部关键词不旋转

它的取值如果大于等于1,则表示全部关键词随机旋转

它的取值如果范围在0到1之间时,表示每个关键词有多少概率进行旋转。

如:设置为0.5,则每个关键词有50%的概率旋转。

该参数的默认值为0.25。
 

 (八) 词云图-突出主题/重点

wordcloud2(demoFreqC,color = ifelse(demoFreqC[, 2] > 200, 'red', 'skyblue'))

这是一个条件语句,用于根据词频表格`demoFreqC`中的第二列的值来设置关键词的颜色。
如果该列的值大于200,则颜色设置为'red',否则设置为'skyblue'。

  (九) 保存词云图

library(htmlwidgets)#载入包
R=wordcloud2(demoFreqC,shape="star",
            color = ifelse(demoFreqC[, 2] > 200, 'red', 'skyblue'))
saveWidget(R,"C:/Users/86159/Desktop/词云图.html")#保存在指定的路径,名称为词云图

如果想将一个图形保存为HTML文件,可以使用htmlwidgets包中的saveWidget()函数

运行成功后,就可以在保存路径下找到保存好的词云图.html文件啦!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/3115.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!