根據WordCloud的API引數來自定義詞雲
阿新 • • 發佈:2018-12-05
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
裡面是詞雲的資料來源,只能是英文,這裡以奧巴馬的演講為例。