<Python> python從入門到實踐(實踐篇)(1) --詞雲製作
阿新 • • 發佈:2020-08-09
實現詞雲製作需要用到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")