準備
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
讀取的圖像類型進行轉換