天天看點

使用wordcloud庫生成詞雲

一、基本架構

1.配置對象參數

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 指定詞雲圖檔的背景顔色,預設為黑色

2.加載詞雲文本

w.generate(txt):向WordCloud對象w中加載文本txt

3.輸出詞雲檔案

w.to_file(filename):将詞雲輸出為圖像檔案,.png或.jpg格式

二、普通形狀詞雲執行個體

import jieba     #引用中文分詞庫
import wordcloud    #引用詞雲庫
f = open("文本.txt","r")    #檔案打開、讀取、關閉
t = f.read()
f.close()
ls = jieba.lcut(t)    #對文本分詞處理
txt = " ".join(ls)      #形成用空格分隔詞語的新字元串
w = wordcloud.WordCloud(font_path = "./font/simhei.ttf",width = 1000,\
                        height = 700,background_color = "white",\
                        max_words = 30)                #配置參數
w.generate(txt)       #加載文本
w.to_file("wordcloud.png")      #輸出儲存
           

效果:

使用wordcloud庫生成詞雲

三、自定義形狀詞雲執行個體

import jieba
import wordcloud
from scipy.misc import imread    #引用圖像處理庫
mask = imread("cloud.jpg")    #指定詞雲形狀
f = open("文本.txt","r")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = "".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttf",width = 1000,\
                        height = 700,background_color = "white",\
                        mask = mask,max_words = 30)
w.generate(txt)
w.to_file("wordcloud.png")
           

效果:

使用wordcloud庫生成詞雲

注意:圖檔填充色和背景色一緻可能會産生錯誤。一般情況下,max_words越多,形狀表現效果越好。