wordcloud 庫的使用

準備

  • conda install wordcloud jieba Pillow numpy imageio
  • 說明:由於scipy庫不在提供imread等函數, 使用imageioPillow 進行替代,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 類型,所以需要通過numpyPillow讀取的圖像類型進行轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章