python3 wordcloud詞雲


wordclou:根據文本生成詞雲

 

一.詞雲設置

 1 wc=WordCloud(width=400, height=200, #畫布長、寬,默認(400,200)像素
 2             margin=1,    #字與字之間的距離
 3             background_color='white',#背景顏色
 4             min_font_size=3,max_font_size=None,#顯示的最小,最大的字體大小
 5             max_words=200,#顯示的詞的最大個數
 6             ranks_only=None,#是否只是排名
 7             prefer_horizontal=.9,#詞語水平方向排版出現的頻率0.9(所以詞語垂直方向排版出現頻率為 0.1 )
 8             mask=None,## 以該參數值作圖繪制詞雲,這個參數不為空時,width和height會被忽略
 9             scale=1, #按照比例進行放大畫布
10             color_func=None,#生成新顏色的函數,如果為空,則使用 self.color_func
11             stopwords=('Book'),#設置需要屏蔽的詞,如果為空,則使用內置的STOPWORDS
12             random_state=None, # 為每個詞返回一個PIL顏色
13             font_step=1, #字體步長,如果步長大於1,會加快運算但是可能導致結果出現較大的誤差。
14             mode="RGB",#當參數為“RGBA”並且background_color不為空時,背景為透明
15             relative_scaling=.5, #詞頻和字體大小的關聯性
16             regexp=None,#使用正則表達式分隔輸入的文本
17             collocations=True,#是否包括兩個詞的搭配
18             colormap=None,#給每個單詞隨機分配顏色
19             normalize_plurals=True,#是否刪除詞的尾隨S之類的
20             font_path="C:/Windows/Fonts/STFANGSO.ttf"  #字體路徑
21             )
WordCloud詞雲設置

 

二.生成詞雲

1 fit_words(frequencies)  //根據詞頻生成詞雲
2 generate(text)  //根據文本生成詞雲
3 generate_from_frequencies(frequencies[, ...])   //根據詞頻生成詞雲
4 generate_from_text(text)    //根據文本生成詞雲
5 process_text(text)  //將長文本分詞並去除屏蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現,使用上面的 fit_words(frequencies) )
6 recolor([random_state, color_func, colormap])   //對現有輸出重新着色。重新上色會比重新生成整個詞雲快很多。
7 to_array()  //轉化為 numpy array
8 to_file(filename)   //輸出到文件
相關方法

 

三.基本步驟

 1 import jieba #jieba分詞
 2 import matplotlib.pyplot as plt#繪制圖形
 3 from scipy.misc import imread#處理圖像
 4 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator#詞雲
 5 
 6 #一.文本獲取,利用jieba分詞獲取文本中的詞
 7 file=open('test.txt',encoding='UTF-8').read()
 8 word=' '.join(jieba.cut_for_search(file))
 9 
10 #二.詞雲背景圖像獲取
11 image=imread('test.jpg')  # 解析該圖片
12 
13 #三.詞雲設置
14 wc=WordCloud(
15     mode='RGBA',#設置透明底色
16     background_color=None,
17     mask=image, #詞雲形狀設置為背景圖像
18     max_words=100,#顯示的詞的最大個數
19     font_path="C:\\Windows\\Fonts\\STFANGSO.ttf",#設置字體,否則中文可能會出現亂碼
20     scale=3#擴大三倍
21 )
22 
23 #生成詞雲
24 image_colors = ImageColorGenerator(image)# 基於背景顏色設置字體色彩
25 wc.generate(word)#根據文本生成詞雲
26 
27 #顯示
28 plt.imshow(wc)#顯示詞雲圖
29 plt.axis("off")#關閉坐標軸
30 plt.show()#顯示窗口
31 wc.to_file('test.png')# 保存圖片
詞雲

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM