1. 程式人生 > >根據WordCloud的API引數來自定義詞雲

根據WordCloud的API引數來自定義詞雲

WordCloud

github:

https://github.com/amueller/word_cloud

WordCloudAPI

 

wordcloud.WordCloud(
     font_path=None,  # 字型路徑,英文不用設定路徑,中文需要,否則無法正確顯示圖形
     width=400, # 預設寬度
     height=200, # 預設高度
     margin=2, # 邊緣
     ranks_only=None,
     prefer_horizontal=0.9,
     mask=None, # 背景圖形,如果想根據圖片繪製,則需要設定
     scale=1,
     color_func=None,
     max_words=200, # 最多顯示的詞彙量
     min_font_size=4, # 最小字號
     stopwords=None, # 停止詞設定,修正詞雲圖時需要設定
     random_state=None,
     background_color='black', # 背景顏色設定,可以為具體顏色,比如white或者16進位制數值
     max_font_size=None, # 最大字號
     font_step=1,
     mode='RGB',
     relative_scaling='auto',
     regexp=None,
     collocations=True,
     colormap='viridis', # matplotlib 色圖,可更改名稱進而更改整體風格
     normalize_plurals=True,
     contour_width=0,
     contour_color='black',
     repeat=False)

 

舉例

比如更換背景顏色和整體風格等

新建檔案definition.py

import os
from os import path
from wordcloud import WordCloud
from matplotlib import pyplot as plt
# 獲取當前檔案路徑
d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
# 獲取文字text
text = open(path.join(d,'aobama.txt')).read()
# 生成詞雲
#scale=2縮放2倍
#max_font_size = 100 最多顯示詞彙量100
#background_color='red' 背景顏色 紅色
#colormap='Blues' 色圖,可更改名稱進而更改整體風格
wc = WordCloud(scale=2,max_font_size = 100,background_color='red',colormap='Blues')
wc.generate_from_text(text)
# 顯示影象
plt.imshow(wc,interpolation='bilinear')
plt.axis('off')
plt.tight_layout()
#儲存影象
wc.to_file('aobama.png')
# or
# plt.savefig('1900_basic.png',dpi=200)
plt.show()

然後在同級目錄下新建aobama.txt

裡面是詞雲的資料來源,只能是英文,這裡以奧巴馬的演講為例。

執行效果