Python-wordcloud库
一、wordcloud库基本介绍
1.1 wordcloud库概述
wordcloud是优秀的词云展示第三方库
- 词云以词语为基本单位,更加直观和艺术的展示文本
1.2 wordcloud库的安装
(cmd命令行) pip install wordcloud
二、wordcloud库使用说明
2.1 wordcloud库基本使用
wordcloud
库把词云当作一个WordCloud
对象
-
wordcloud.WordCloud()
代表一个文本对应的词云 - 可以根据文本中词语出现的频率等参数绘制词云
- 绘制词云的形状、尺寸和颜色都可以设定
2.2 wordcloud库常规方法
w = wordcloud.WordCloud()
- 以WordCloud对象为基础
- 配置参数、加载文本、输出文件
方法 | 描述 |
---|---|
w.generate | 向WordCloud对象w中加载文本txt。>>>w.generate(“Python and WordCloud”) |
w.to_file(filename) | 将词云输出为图像文件,.png或.jpg格式>>>w.to_file(“outfile.png”) |
import wordcloud
c = wordcloud.WordCloud() #步骤1:配置对象参数
c.generate("wordcloud by Python") #步骤2:加载词云文本
c.to_file("pywordcloud.png") #步骤3:输出词云文件
2.3 配置对象参数
w = wordcloud.WordCloud(<参数>)
参数 | 描述 |
---|---|
width | 指定词云对象生成图片的宽度,默认400像素>>> w=wordcloud.WordCloud(width=600) |
height | 指定词云对象生成图片的高度,默认200像素>>> w=wordcloud.WordCloud(width=400) |
min_font_size | 指定词云中字体的最小字号,默认4号>>>w=wordcloud.WordCloud(min_font_size=10) |
max_font_size | 指定词云中字体的最大字号,根据高度自动调节>>>w=wordcloud.WordCloud(min_font_size=20) |
font_step | 指定词云中字体字号的步进间隔,默认为1 >>>w=wordcloud.WordCloud(font_step=2) |
font_path | 指定字体文件的路径,默认None>>>w=wordcloud.WordCloud(font_path=“msyh.ttc”) |
max_words | 指定词云的排除词列表,即不显示的单词列表>>>w=wordcloud.WordCloud(stop_words={“python”}) |
mask | 指定词云形状,默认为长方形,需要引用imread()函数>>>from scipy.misc import imread>>>mk=imread(“pic.png”)>>>w=wordcloud.WordCloud(mask=mk) |
background_color | 指定词云图片的背景颜色,默认为黑色。>>>w=wordcloud.WordCloud(background_color=“white”) |
2.4 wordcloud 应用实例
#以空格分隔单词
import wordcloud
txt = "life is short, you need python"
w = wordcloud.WordCloud(background_color = "white")
w.generate(txt)
w.to_file("pywcloud.png")
#中文需要先分词并组成空格分隔字符串
import jieba
import wordcloud
txt = "程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。"
w = wordcloud.WordCloud(width=1000,font_path="msyh.ttc",height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pywcloud.png")
三、实例12:政府工作报告词云
3.1 "政府工作报告词云"问题分析
- 需求:对于政府工作报告等政策文件,如何直观理解?
- 体会直观的价值:生成词云 & 优化词云
- 政府工作报告等文件 => 有效展示的词云
https://python123.io/resources/pye/新时代中国特色社会主义.txt
https://python123.io/resources/pye/关于实施乡村振兴战略的意见.txt
3.2 "政府工作报告词云"实例讲解
政府工作报告词云
-
基本思路
- 步骤1:读取文件、分词整理
- 步骤2:设置并输出词云
- 步骤3:观察结果,优化迭代
#GovRptWordCloudv1.py
import jieba
import wordcloud
f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud( font_path = "msyh.ttc",width = 1000, height = 700, background_color = "white", max_words = 15)
w.generate(txt)
w.to_file("grwordcloud.png")
- 更有形的词云
#GovRptWordCloudv2.py
import jieba
import wordcloud
from scipy.misc import imread
mask = imread("chinamap.jpg")
f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud( font_path = "msyh.ttc", mask = mask,width = 1000, height = 700, background_color = "white",)
w.generate(txt)
w.to_file("grwordcloud.png")