准备
conda install wordcloud jieba Pillow numpy imageio
- 说明:由于
scipy
库不在提供imread
等函数, 使用imageio
或Pillow
进行替代,jieba
库用于中文的分词
用法
使用imageio
进行图像处理
import wordcloud
import jieba
from PIL import Image
import imageio
mask = imageio.imread(r'./five.png')
with open(r"./报告.txt", "r+", encoding="utf-8") as f:
txt = f.read()
w = wordcloud.WordCloud(font_path='STXINGKA.TTF', background_color='white',
mask=mask, width=1000, height=700, max_words=20,scale=3)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file("cloud.png")
- 说明:
font_path
是字体路径,windows的字体存放在C:\Windows\Fonts
,如何获取参看连接windows中获取字体文件名,对于路径为C:\Windows\Fonts
的字体只需写字体文件名,其他路径需要全写scale
用于提高生成词云的图片质量, 值越高图片越清晰,不要设置太高,不然耗费时间较长
使用Pillow
进行图像处理
import wordcloud
import jieba
from PIL import Image
import numpy as np
mask = np.asarray(Image.open(r'./five.png'))
with open(r"./报告.txt", "r+", encoding="utf-8") as f:
txt = f.read()
w = wordcloud.WordCloud(font_path='STXINGKA.TTF', background_color='white',
mask=mask, width=1000, height=700, max_words=20,scale=3)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file("cloud.png")
- 说明:
- 由于
wordcloud.WordCloud中的参数 mask 需要的是 nd-array 类型
,所以需要通过numpy
将Pillow
读取的图像类型进行转换