手把手教你用Python绘制词云
wordcloud库把词云当做一个WordCloud对象,库名是全小写,词名是有大写有小写的。
wordcloud.WorldCloud代表一个文本对应的词云。我们可以这样理解在worldcloud库中,WordCloud是一个代表文本词云的对象。
一个词云就是一个WordeCloud对象,可以根据文本中词语出现的频率等参数绘制词云,词云的形状,尺寸,颜色都可以设定。
Wordcloud库的常用方法
w=wordcloud.WordCloud() 来表明一个词云对象
-以WordCloud对象为基础
-配置参数,加载文本,输出文件
★重点重点★
简单说绘制一个词云有三步
步骤一:配置对象参数
步骤二:加载词云文本
步骤三:输出词云文件
看下面的例子:
输出结果:
在上面的程序中 ,wordcloud做了四件事情:
首先对于一个文本
1.分隔:以空格分隔单词
2. 统计:统计单词出现的次数并过滤(次数多的显示的大,少的小)
3. 字体:根据统计配置字号
4. 布局:颜色环境尺寸
从上面的步骤可以看出,在绘制词云的时候,原则上不需要我们对单词出现的数量进行统计,只需要给wordcloud库空格分隔的大字符串,就可以产生词云。
下面来看一下生成词云对象的时候还有哪些参数:
w=wordcloud.WordCloud(<参数>)
width 指定词云对象生成图片的宽度,默认400像素
如:w=wordcloud.WordCloud(<width=400>)
height 指定词云对象生成图片的高度,默认200像素
如: w=wordcloud.WordCloud(<height=200>)
除了图片大小,还有字体
还有一些常用参数:
font_path 指定字体文件的路径,默认NONE,指定字体
max_words 指定词云显示的最大单词数量,默认200
stop_path 指定词云的排除词列表,既不显示的单词列表
我们再来看一个小例子
接着我们来看中文,英文是用空格来分割单词,但是空格是没法分隔中文的,所以在形成词云时,需要我们先对中文进行分隔。
看代码
运行结果如下所示:
未完待续
政府工作报告云
需求:对于政府工作报告等政策文件,如何直观观察理解
体会直观的价值:生成词云 优化词云
第一份文件
First
《决胜全面建成小康社会,夺取新时代中国特色社会主义未带胜利》(2017年10月18日 在中国共产党第十九次全国代表大会报告)
下载地址:https://python123.io/resources/pye/新时代中国特色社会主义.txt
第二份文件
second
《中共中央 国务院关于实施乡村振兴战略的意见》
2018一号文件 (2018年01月02日)
下载地址:https://python123.io/resources/pye/关于实施乡村振兴战略的意见.txt
我们来展示一下第一份文件的词云代码,代码不多,很容易理解。
运行结果如下所示:
如果感觉出现的字太多的话们可以更改一下
max_words参数,如:max_words=15
如果想生成有形状的词云,那该怎么办呢?
还能怎么办,接着往下看啊。看下面这个汽车图片,帅不帅?
函数里面存在了mask参数,我们可以把这个参数用上,如下所示:
效果图如下,如果你的字数太少,记得修max_words的值。
感兴趣的的你可以去试试第二份文件,把里面的内容生成自己想要的词云。