WordCloud制作詞云(1)--函數(shù)參數(shù)詳情

本節(jié)內(nèi)容:實(shí)現(xiàn)詞云,將文本信息填充在特定的形狀內(nèi)部,處理得當(dāng)?shù)脑挄?huì)產(chǎn)生相當(dāng)精美的圖片。

官方教程鏈接地址:WordCloud for Python
github項(xiàng)目地址:word cloud GitHub

1. 相關(guān)模塊安裝:

安裝WordCloud
windows系統(tǒng):pip install wordcloud或者anaconda用戶利用 conda install -c conda-forge wordcloud
安裝matplotlib和numpy,類似上面的安裝方法。

2. wordcloud函數(shù)參數(shù)信息,了解每個(gè)參數(shù)的實(shí)際效果。

font_path:string:可以修改生成詞云的字體格式,傳遞字體的文件格式為OTF或者TTF,需要給出完整路徑
width,height: int,默認(rèn)為400,200,畫布的大小,即生成分辨率為(400,200)的圖片
prefer_horizontal:float,默認(rèn)為0.9,代表文本橫向排版出現(xiàn)的頻率為0.9,垂直排版頻率為0.1
mask:nd-array or None,默認(rèn)為None,默認(rèn)詞云會(huì)填充畫布默認(rèn)大小,若不是None,則默認(rèn)畫布大小將失效,遮罩的形狀被mask取代。mask中全白區(qū)域?qū)⒉粫?huì)繪制詞云,所以導(dǎo)入圖片時(shí)注意該圖片的背景必須為白色,而填充區(qū)域?yàn)槠渌伾梢岳胮s摳圖放在純白的畫布中。
contour_width:float,設(shè)置詞云邊界寬度,默認(rèn)為0,不畫出詞云邊界線,當(dāng)mask中填充部分的邊界平滑時(shí)可以設(shè)置contour_width,否則不需要設(shè)置該參數(shù),會(huì)產(chǎn)生鋸齒。
contour_color:'black',邊界線顏色,默認(rèn)為黑色,當(dāng)contour_width不為0時(shí),設(shè)置本參數(shù)改變邊界線顏色。
scale:float,默認(rèn)為1,按比例放大(>1)畫布或者縮小(<1)
min_font_size:int,默認(rèn)為4,最小的字體大小
max_font_size:int or None,默認(rèn)為None,字體的最大樣式
font_step:int,默認(rèn)為1,字體大小的步長,大于1時(shí)會(huì)加快運(yùn)算,但可能會(huì)導(dǎo)致較大誤差(以測試為準(zhǔn))
max_words:number,默認(rèn)為200,顯示單詞或者漢字最大的個(gè)數(shù)
stopwords:為字符串集或者None,設(shè)置需要屏蔽的詞(不會(huì)顯示類似of the i etc.),若為None則會(huì)使用內(nèi)置詞集
background_color:默認(rèn)值'black',畫布背景色,默認(rèn)為黑色
mode:string:默認(rèn)值'RGB' ,當(dāng)參數(shù)為'RGBA',其中A代表透明度,且'background_color'不為空時(shí),背景為透明。
relative_scaling"float:默認(rèn)值'auto',文字出現(xiàn)的頻率與字體大小的關(guān)系,設(shè)置為1時(shí)詞語出現(xiàn)的頻率越高,其字體越大,默認(rèn)為0.5。
color_func:callable:默認(rèn)為None,獲取顏色函數(shù),用戶可以實(shí)現(xiàn)從圖像中獲取顏色,為None時(shí)使用內(nèi)部默認(rèn)顏色參數(shù)
regexp:string or None:使用正則表達(dá)式來分隔輸入的文本,當(dāng)使用了generate_from_frequencies時(shí)本參數(shù)將被屏蔽
collocations:bool:默認(rèn)為True ,是否包括兩個(gè)單詞的搭配,當(dāng)使用了generate_from_frequencies時(shí)本參數(shù)將被屏蔽
colormap:string or marplotlib colormap:默認(rèn)為'viridis' ,隨機(jī)為每個(gè)詞染色,本參數(shù)使用了'color_func'時(shí)將會(huì)被屏蔽
normalize_plurals:bool 默認(rèn)為True,是否移除詞尾的s,尚未發(fā)現(xiàn)本參數(shù)的用途。
repeat:bool,默認(rèn)為False,是否重復(fù)單詞或者短語,直到滿足max_words和min_font_size,當(dāng)文本內(nèi)容較少時(shí)建議設(shè)置為真

3. 代碼,單詞填充圓形
#導(dǎo)入模塊
import matplotlib.pyplot as plt
import numpy as np
from wordcloud import WordCloud
#文本信息
text='surprised'
#顯示的形狀
mask=(x-180)**2+(y-180)**2>180**2#圓形外部將被設(shè)置為背景色
mask=255*mask.astype(int)
word_cloud=WordCloud(background_color='white',repeat=True,mask=mask)
word_cloud.generate(text)
plt.axis('off')
plt.imshow(word_cloud,interpolation='bilinear')#對生成的圖像進(jìn)行插值,保證生成圖像的平滑
plt.show()

運(yùn)行結(jié)果:

詞云
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載于: http://blog.csdn.net/u010309756/article/details/6763...
    matianhe閱讀 5,060評論 0 106
  • 問題描述 某部電影上映后,通過影視評論分析受眾觀感。以此作為某一標(biāo)準(zhǔn)來決定是否有價(jià)值被推薦,通過數(shù)據(jù)做以下問題分析...
    羽恒閱讀 3,421評論 4 3
  • 肉食邦閱讀 181評論 0 0
  • 一定要明確目標(biāo)和想要的東西 不要再渾渾噩噩 不經(jīng)過思考就做出愚蠢的決定 別人有試錯(cuò)的機(jī)會(huì) 可是你沒有 因?yàn)槟憔褪悄?/div>
    說出來吧閱讀 583評論 2 0
  • 生活 往往就是這樣 有喜有憂 苦與樂交織著 當(dāng)你遇到坎坷了 心態(tài)好了 它就是種喜 亦是一種樂 別樣的樂 然而 對于...
    小城小愛閱讀 305評論 2 5