R语言,一行代码实现高大上的“高考文字云”(附完整教程)

一年一度的高考大日子又到了,

在这里,浩彬老撕先预祝各位考生都能取得满意的成绩。

每年的高考都会产生很多的爆点,引起很多的话题,

今年也不例外,而且再创新高,诞生了高考界的第一网红


正好,R的文字云包“wordcloud2”也发布了,于是浩彬老撕也弄了一个高考文字云。

你说要图案选择?咱有!支持中文,那是必须的!多少代码?一行足矣!


Excuse me?! 

就这么简单?

就是这么简单!


如下是完整实现教程:

  1. 数据

数据要求非常简单,只需要两列分别是:词语,频率

WordFreq
高考100
满分33
作文39
头发42
网红44

详细数据可以通过如下链接下载:

链接: http://pan.baidu.com/s/1jI4gEnc 密码: uids

2.环境要求:

(1)https://cran.r-project.org/上下载对应系统及版本的R软件(版本要求至少3.1.0),环境为win64的R;

(2)此次用到的包为“wordcloud2”,github上,,因为我们需要先安装“devtools”,再安装“wordcloud2”,代码如下:

install.packages('devtools')

devtools::install_github("lchiffon/wordcloud2")

3实现过程:

(1)高考文字云

data <- read.csv('c:/data.csv', sep="," ,header = T)

#读取原始数据

data

#检查数据,查看是否存在乱码的情况

wordcloud2(data, size = 1, shape='star',color = 'random-dark',

backgroundColor = "white",fontFamily = "微软雅黑")

#绘制文字云,其中data就是我们读取的数据,size是对应文字大小,shape是绘制形状


就是这么简单就实现了!

另外,wordcloud2包里面打包了两份数据,分别为:

英文的:demoFreq

中文的:demoFreqC


(2)英文Demo:

我们利用Sample数据,绘制一个心形图

wordcloud2(demoFreq, size = 1,color = 'random-light',

shape = 'cardioid',backgroundColor = "snow")


在这里例子里面,我们修改了字体颜色,并把图案形状为心型,最后加上背景颜色。

是不是有种很温馨的感觉,简直是可视化必备利器!

(3)中文Demo

wordcloud2(demoFreqC, size = 1,color = 'random-light',

backgroundColor = "gray", fontWeight='bold',fontFamily = "微软雅黑",

minRotation = -pi/3, maxRotation = pi/3,rotateRatio = 0.8)


在上面例子,我们重新设定了字体为粗体,字体旋转角度在正负60度之间,旋转比例为80%。

4.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’(五边形);

这里特别鸣谢wordcolud2的R包作者:郎大为Chiffon


原文地址:https://ask.hellobi.com/blog/wetalkdata/4092

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值