准备
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读取的图像类型进行转换