公众号运营01:教你如何生成漂亮的关键词云图

Python08

公众号运营01:教你如何生成漂亮的关键词云图,第1张

1

前几年大数据很火的时候,只要一搜索大数据就会看到“关键词云图”,也就是下面这个样子的图片:

2

看起来逼格挺高的,也蛮好看的。所以一直想知道怎么做,然后尝试了用R语言做,发现这么复杂啊,就没有一个简单的办法吗?

然后搜了搜,发现还真有,而且比用程序生成还简单,还好看。

所以今天就分享一下:

生成关键词云图的网站与使用方法!

3

网站叫 WordArt ,名字很契合功能:

网址 : https://wordart.com

首先熟悉一下操作环境:

左边是设置栏,右边是生成预览,当然每次修改相关条件后要点击红色的按钮Visualize去更新。

**4 **

设置栏有很多选项,一一解读一下:

WORDS :这个毫无疑问就是要添加你要展示的关键词,你可以一个一个的输入(如果不多的话,不限制,一个关键词也可以,就是不停的重复一个),也可以选择导入Import(导入的话就相当于把你准备好的关键词复制进去)。注:锤子科技设计的软件“大爆炸”很适合在大量文字里提取关键词,可以结合一下试试。

5

SHAPES :也就是设计你要生成的云图的形状,里面有很多自带的素材,当然也可以自己添加图片,比如你想把云图做成乔布斯的样子,你就可以把乔布斯的照片导入,然后关键词就会组成乔布斯的轮廓。

6

FONTS :也就是字体,目前自带的字体都是英文的,所以要想显示中文云图,就要添加中文字体,所以还是很简便的,如果没有中文字体的话,会自动默认英文字体,中文可能无法显示出来,就跟乱码一样的!

7

LAYOUT :布局指的是文字的样式选项,可以单纯的水平显示,也可以垂直,还可以立体式的,基本上垂直水平的显示模式就不错了,立体的有时候感觉怪怪的,不过还是看您个人的选择。

也可以自己设置关键词的数量,多的话就会密集,显的小,可以不断调整。

8

STYLE :关于样式,有几个选项,基本上自动选项就已经足够了,但是如果个人添加的图片SHAPES之类的,建议手动调一下,总能令您满意的。背景色,文字颜色等也都可以调整。

上图是自动生成的云图,是个大熊猫。挺好看的,

这是导入了娃儿子旅行的照片后生成的关键词云图!

最后

有了WORDART这个工具后,就不需要学什么R程序了,工具给人方便,我就推荐工具,喜欢的收藏起来,推荐给更多有需要的人。

Ian Fellows与2014-06-13公布了wordcloud包,之前我用wordcloud包写了一篇关于文本可视化的博客。这里就不再多说了。就在今年2016-07-25,Dawei Lang发布了wordcloud2,它是wordcloud的一个升级版。不信咱们就看看。我们可以用这个包画出个性化词云图。

这个包里面包含了两个数据集,demoFreqC和demoFreq,前者是一些中文数据,后者是一些英文数据。这两个数据都包含了两个变量,一个是文本,另一个是文本的数量。大家可以使用str()函数来查看数据的详细信息。这个表主要有两个函数letterCloud和wordcloud2。

qq怎么弄关键字云图

第三方词云工具固然方便,但是使用起来也是各种问题(如中文乱码、词云形状、字体颜色调整等等)。我和大家分享一下如何使用 R 语言的 jiebaR 和 wordcloud2 扩展包来完成中文文本(英文当然不在话下)的分词,并且绘制关键词词云。

0.前期准备

准备1:安装 R ,你可以前往 The Comprehensive R Archive Network 下载并安装程序。

准备2:把你需要分词的文本放在一个 txt 文件中(强调:务必是 txt 格式!)。(你可以使用爬虫获取这部分文本,或者手动复制粘贴得到文本信息)

1.中文分词

分词是绘制词云的基础,说得简单一点就是将中文文本分割成一个个词汇。举个例子,我们现在按照XX算法对句子“ 对公司相关运营数据进行提取、多维度分析和整理”进行分词,得到如下结果:

对、公司、相关、运营数据、进行提取、多维度、分析、和、整理

只有进行了分词,才可以进行词云的绘制;如果你已经完成了这一步,并且统计出了每一个词汇的频数,可以直接略过这一步。

我们用 R语言的 jiebaR 包实现上述操作,如下:

1)安装并加载 jiebaR 包

install.packages("jiebaR") library(jiebaR)

2)导入原始文本

f<-scan('/Users/XXX/Desktop/数据运营JD.txt',sep='\n',what='',encoding="UTF-8")

需要注意的是 /Users/XXX/Desktop/数据运营JD.txt 应该是你的txt文件的路径,不要直接copy。

3)开始分词

分词有很多种算法,其原理不是我们要关注的重点

seg<-qseg[f]

4)分词处理

因为分词出来可能会有很多常见的词汇,但是没啥用的,比如“的”、“是”、“什么”一类的。我们需要将这个词汇屏蔽掉。同时特别长的词汇这里我们也不要。

我的做法是将字符数控制在3-16之间,也就是最多4个汉字(1个汉字=4个字符),最少3个英文。

seg<-seg[nchar(seg)>2]

seg<-seg[nchar(seg)<17]

seg

这个时候分词结果,也就是 seg 可以显示在你的R程序上,如下图所示:

5)对分词进行转置

为了方便后面的处理,我们需要对 seg 进行一次转置(把横着放变成竖着放)

m1<-data.frame(seg)

2.统计词频

完成分词后,你需要统计每一个词出现的频数,比如“ 数据分析 10 ”这样的。

1)加载 sqldf 包

install.packages("sqldf")

library(sqldf)

2)统计词频