wordcloud是优秀的词云展示第三方库
wordcloud库把词云当作一个WordCloud对象
* wordcloud.WordCloud()代表一个文本对应的词云
* 可以根据文本中词云出现的频率等参数绘制词云
* 词云的绘制形状、尺寸和颜色都可以设定
w = wordcloud.WordCloud()
配置对象参数:
width —— 指定词云对象生成图片的宽度,默认400像素
height —— 指定词云对象生成图片的高度,默认200像素
min_font_size —— 指定词云中字体的最小字号,默认4号
max_font_size —— 指定词云中字体的最大字号,根据高度自动调节
font_step —— 指定词云中字体的步进间隔,默认为1
font_path —— 指定字体文件的路径,默认None
max_words —— 指定词云显示的最大单词量,默认200
stop_words —— 指定词云的排除词列表
mask —— 指定词云形状,默认为长方形,需要引用imread()函数
background_color —— 指定词云图片的背景颜色,默认为黑色
w = generate(txt)
加载词云文本
w.to_file(filename)
输出词云文件
wordcloud执行过程分解:
①分隔:以空格分隔单词
②统计:单词出现次数并过滤
③字体:根据统计配置字号
④布局:颜色环境尺寸
import wordcloud
txt = 'life is shot, 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')
政府工作报告词云
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(width=1000, height=700, \
font_path='msyh.ttc', background_color = 'white')
w.generate(txt)
w.to_file('gwcloud.png')
输出:
设定max_words = 15
引入mask
注:首先需要安装imageio模块,如果安装失败,可以打开python官网加buff
素材:
import jieba
import wordcloud
from imageio import imread ##※
mk = imread('heart.jpg') ##※
f = open('新时代中国特色社会主义.txt', 'r', encoding='utf-8')
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = ' '.join(ls)
w = wordcloud.WordCloud(width=1000, height=700, mask = mk, \ ## ※
font_path='msyh.ttc', background_color = 'white', \
max_words = 15, max_font_size = 100)
w.generate(txt)
w.to_file('gwcloud_mask.png')