1. 程式人生 > 實用技巧 ><Python> python從入門到實踐(實踐篇)(1) --詞雲製作

<Python> python從入門到實踐(實踐篇)(1) --詞雲製作

實現詞雲製作需要用到wordcloud庫

wordcloud庫的使用

wordcloud是優秀的詞雲展示第三方庫

方法 描述
w = wordcloud.WordCloud(<引數>) 建立一個詞雲物件
w.generate(txt) 項WordCloud物件w中載入文字
w.to_file(filename) 將詞雲輸出為影象檔案,.png或.jpg格式

wordcloud()內的引數能夠設定詞雲風格,具體如下:

引數 描述
width 指定詞雲物件生成圖片的寬度,預設400畫素
height 指定詞雲物件生成圖片的高度,預設200畫素
min_font_size 指定詞雲中字型的最小字號,預設4號
max_font_size 指定詞雲中字型的最大字號,根據高度自動調節
font_step 指定詞雲中字型字號的步進間隔,預設為1
font_path 指定字型檔案的路徑,預設None(常用font_path = “msyh.ttc”,是微軟雅黑字型)
max_words 指定詞雲顯示的最大單詞數量,預設200
stopwords 指定詞雲的排除詞列表,即不顯示的單詞列表
mask 指定詞雲形狀,預設為長方形,需要引用imread()函式
background_color 指定詞雲圖片的背景顏色,預設為黑色
mode 設定顯色模式,預設RGB,如果為RGBA且background_color不為空時,背景為透明
margin 詞與詞之間的邊距,預設為2
scale 縮放比例,對影象整體進行縮放
prefer_horizontal 詞在水平方向上出現的頻率,預設為0.9
color_func 生成新顏色的函式 如果為空 則使用 self.color_func
regexp 預設單詞是以空格分割,如果設定這個引數 將根據指定函式來分割
collocations 是否包含兩個詞的搭配 預設為True
colormap 給所有單詞隨機分配顏色,指定color_func則忽略
random_state 為每個單詞返回一個PIL顏色

注:imread()函式來自庫scipy.misc

,用法如

from scipy.misc import imread
mk = imread("pic.png")
w = wordcloud.WordCloud(mask = mk)

例項:

# 統計三國演義中出現頻次最高的人物稱謂前30名
import jieba
import wordcloud
from lab import ls


filename = "Three Kingdom.txt"
txt = open(filename, "r", encoding="utf-8").read()
words = jieba.lcut(txt)
t = " ".join(words)
w = wordcloud.WordCloud(font_path = "msyh.ttc", width=500, \
                        height=400, background_color="white", \
                        max_words=30, stopwords=ls)
w.generate(t)
w.to_file("wordcloud.png")