(1).介紹
wordcloud是優秀的詞雲展示第三方庫,wordcloud能夠將一段文本變成一個詞雲。
詞雲就是將詞語通過圖形可視化的方式,直觀和藝術的展示出來。詞雲在我們的生活中經常能夠看到,無論是中文的詞雲還是英文的詞雲。
安裝第三方庫需要使用pip工具,在命令行下運行安裝命令(不是IDLE)。注意:需要將Python目錄和其目錄下的Scripts目錄加到環境變量中。
使用命令pip install wordcloud安裝第三方庫,安裝之后會提示successfully installed,告知是否安裝成功。
(2).使用說明
wordcloud庫把詞雲當做一個WordCloud對象,即wordcloud.WordCloud()是一個代表文本對應詞雲的對象,一個詞雲就是一個WordCloud對象。wordcloud庫可以根據文本中詞語出現的頻率等一系列參數來繪制詞雲,在繪制詞雲時,詞雲的形狀、尺寸、顏色包括字體都是可以設定的。
wordcloud庫對具體詞雲的繪制有一個基本的思路,思路是用wordcloud庫中的WordCloud對象來表明一個詞雲,WordCloud對象是一個詞雲的對象基礎,然后向這個對象中配置參數、加載文本、輸出到文件中。這同樣也是詞雲繪制的步驟:1.配置對象參數;2.加載詞雲文本;3.輸出詞雲文件。為了完成后兩個步驟,我們需要將WordCloud對象賦給一個變量名,使得后兩個步驟可以調用,例如:w=wordcloud.WordCloud()。
配置對象參數(參數之間使用逗號隔開):
參數 | 描述 |
width | 指定詞雲對象生成圖片的寬度,默認400像素,例如: >>>w=wordcloud.WordCloud(width=600) |
height | 指定詞雲對象生成圖片的高度,默認200像素,例如: >>>w=wordcloud.WordCloud(height=400) |
min_font_size | 指定詞雲中字體的最小字號,默認4號,例如: >>>w=wordcloud.WordCloud(min_font_size=10) |
max_font_size | 指定詞雲中字體的最大字號,根據高度自動調節,例如: >>>w=wordcloud.WordCloud(max_font_size=20) |
font_step | 指定詞雲中字體字號的步進間隔,默認為1 >>>w=wordcloud.WordCloud(font_step=2) |
font_path | 指定字體文件的路徑,默認為None >>>w=wordcloud.WordCloud(font_path="msyh.ttc") |
max_words | 指定詞雲顯示的最大單詞數量,默認200,例如: >>>w=wordcloud.WordCloud(max_words=20) |
stop_words | 指定詞雲的排除單詞列表,即不顯示的單詞列表,例如: >>>w=wordcloud.WordCloud(stop_words={"Python"}) |
mask | 指定詞雲形狀(提供白色的形狀圖片),默認為長方形,在使用時需要引用imread()函數,例如: >>>from scipy.misc import imread >>>mk=imread("pic.png") >>>w=wordcloud.WordCloud(mask=mk) |
background_color | 指定詞雲圖片的背景顏色,默認為黑色,例如: >>>w=wordcloud.WordCloud(background_color="white") |
加載詞雲文本方法(默認前提w=wordcolud.WordCloud()):
方法 | 描述 |
w.generate(txt) | 向WordCloud對象w中加載文本txt,例如: >>>w.generate("Python and WordCloud") |
輸出詞雲文件方法(默認前提w=wordcolud.WordCloud()):
方法 | 描述 |
w.to_file(filename) | 將詞雲輸出為圖像文件,采用.png或.jpg格式,例如: >>>w.to_file("outfile.png") |
在不指定圖片寬和高時,默認圖片寬為400像素,高位200像素。
由文本變為詞雲,wordcloud庫大概做了4件事:1.wordcloud庫以空格為分隔符,將文本分割成單詞;2.wordcloud庫會在文本中統計每一個單詞出現的次數,單詞出現次數越多,那么單詞顯示的詞雲效果的字體越大,反之則反。並且將只有1到2個字符的單詞過濾掉;3.wordcloud庫會根據統計單詞出現的次數,為不同的單詞配置顯示的字號;4.進行布局。
英文詞雲實例:
import wordcloud txt="life is short,you need python" w=wordcloud.WordCloud( \ background_color="white") w.generate(txt) w.to_file("pywcloud.png")
生成的圖片
中文詞雲實例:
import jieba import wordcloud txt="程序設計語言是計算機能夠理解和\ 識別用戶操作意圖的一種交互體系,它按照\ 特定規則組織計算機指令,使計算機能夠自\ 動進行各種運算處理" w=wordcloud.WordCloud( width=1000,\ font_path="msyh.ttf",height=700) #必須設置字體,否則中文會顯示成方框。這里字體文件與.py文件處於同一目錄下 w.generate(" ".join(jieba.lcut(txt))) w.to_file("pywcloud.png")
生成的圖片