近年来,互联网、新媒体等行业报告中经常会看到一些精美的词云图。它的原理其实比较简单,主要是对文章内容进行分词,统计各个词出现的次数,然后根据出现的次数,设置显示样式,例如大小、颜色等,从而使读者快速领略文章的主旨。例如根据某份政府报告生成的词云图如下,可以看出“制度”、“完善”、“健全”、“发展”等词出现频率较高。
要想生成精美的词云图,只需几行Python代码即可,关键代码如下。
如果想要生成符合自己需要的词云图,只需要修改几个地方即可:首先是text.txt文件,表示的是文章来源,可以修改为自己的文章,或者将自己文章的内容放在text.txt文件中;其次是fivestar.png文件,表示生成的词云图的效果,默认是一个矩形,可以根据自己的需要设置成相应的形状,例如五角星、党旗等,只需要找到对应效果的图片即可。(相关资源可关注微信公众号:手把手教你学编程,回复wordcloud即可获取)
生成词云图代码中调用了一些第三方库,要保证开发环境中已经安装了相应的库,否则无法执行。这里主要涉及到wordcloud库(用于生成词云图,主要针对英文文章,通过空格进行分词)和jieba库(对中文文章进行分词)。
wordcloud离线安装过程如下:
jieba库的在线安装过程如下:
wordcloud库中对象创建参数以及常见方法如下:
jieba库的介绍以及关键的方法和参数说明如下:
生成中文词云的开发步骤如下:
-
读取文件,得到中文字符串;
-
借助jieba库对中文进行分词,得到词语的列表,然后将这些词进行合并并以空格隔开;
-
打开最终效果对应的图片文件,得到相应的数组表示;
-
创建WordCloud对象,设置基本信息;
-
生成词云图,并保存或显示。
更多Python学习资源请关注 手把手教你学编程 微信公众号,我们会不定期更新!