十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“R语言信息可视化实现文字云”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“R语言信息可视化实现文字云”吧!
网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对火锅店设计等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化优化,H5建站,响应式网站。
R语言可以轻松处理信息可视化,并且很早就有专用的信息可视化包——WordCloud。
可是这个第一版的文字云工具,真的超级烂,不仅参数多,而且呈现效果烂,无法自定义形状,颜色也不好搭配。
今天的主角是WordCloud2,该包的升级版(虽然我不知道这两个包是否是同一个作者开发的)。
R语言配置环境:
R x64 3.31/Rstudio 0.99.903/wordcloud2 0.2.0
加载字符云包:
library(wordcloud2)
语法精要:
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’(五边形);
导入数据:
Data<-read.csv("F:\\数据可视化\\数据分析\\R\\R语言学习笔记\\文字云\\DemoFreq.csv")
数据是我在以前文章中曾经分享过的关于文字云在线制作工具所用到的。
作图语法:
eg1: wordcloud2(Data, size = 1,shape = 'star') #最简单的依据,定义好数据集,文字大小,形状。
而且该包所生成的文字云页面是支持鼠标悬浮显示动态标签的。(鼠标停留在对应文字上,会显示出该文字对应的权重)。
eg2: wordcloud2(Data , size = 2, fontFamily = "微软雅黑",color = "random-light", backgroundColor = "grey")
eg3: wordcloud2(Data, size = 2, minRotation = -pi/2, maxRotation = -pi/2)
eg4: wordcloud2(Data, size = 2, fontFamily = "微软雅黑",minRotation = -pi/6, maxRotation = -pi/6,rotateRatio = 1)
由于自己的数据集数量太少,完全展示不出来该包文字云的可视化效果精妙之处,以下将使用该包自带的案例数据集进行演示。
wordcloud2(demoFreq, size = 2, fontFamily = "微软雅黑",
color = "random-light", backgroundColor = "grey")
wordcloud2(demoFreq, size = 2, fontFamily = "微软雅黑",minRotation = -pi/6, maxRotation = -pi/6,rotateRatio = 1)
wordcloud2(demoFreq, size = 2, shape = 'star',fontFamily = "微软雅黑", color = "random-light", backgroundColor = "grey")
以上仅仅使用内置的形状或者默认形状做出的文字云,其实该包还支持自定义图片形状或者自定义文字形状。
图片形状:
下载一张PNG或者JPEG格式的白色背景图片(最好背景是白色的)。
将该图片放在你的R语言安装文件里的WordCloud2的案例图片包中并命名(内有一张黑色背景推特logo图片)。
Emotion <-system.file("examples/Panda.png",package = "wordcloud2") #调用图片路径
wordcloud2(demoFreq, figPath = Emotion, size = 1,color = "random-light") #使用默认案例数据集并结合阿宝的图片呈现文字云效果
艾玛,这个跟阿宝真的不是很像呀,这软件,真坑。
那就再试一试人家软件自带的推特logo文字云图的效果吧。
Emotion <-system.file("examples/t.png",package = "wordcloud2")
wordcloud2(demoFreq, figPath = Emotion, size = 1,color = "random-light")
这个倒还跟小鸟有点像。
文字形状:
这里所谓的文字性状其实是设定一个字符作为整体形状同时将数据集中的文字以加权的形式映射到定义好的文字形状中。
letterCloud(demoFreq, word = "LOVE", wordSize = 2,color = 'random-dark',backgroundColor = "snow")
letterCloud(demoFreq, word = "中秋", wordSize = 2,color = 'random-dark',backgroundColor = "snow")
好了,关于这个包就演示到这里,感兴趣的童鞋可以自己研究研究。
感谢各位的阅读,以上就是“R语言信息可视化实现文字云”的内容了,经过本文的学习后,相信大家对R语言信息可视化实现文字云这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!