類 | 功能 |
---|---|
WordCloud([font_path, width, height, …]) | 生成和繪制詞云對(duì)象 |
ImageColorGenerator(image[, default_color]) | 基于圖片的色彩 |
random_color_func([word, font_size, …]) | 隨機(jī)生成顏色 |
get_single_color_func(color) | 創(chuàng)建一個(gè)顏色函數(shù),它返回一個(gè)色調(diào)和飽和度 |
1、WordCloud類
class 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', max_font_size=None, font_step=1, mode='RGB', relative_scaling='auto', regexp=None, collocations=True, colormap=None, normalize_plurals=True, contour_width=0, contour_color='black', repeat=False, include_numbers=False, min_word_length=0, collocation_threshold=30)
2、WordCloud參數(shù)詳解
參數(shù) | 詳解 |
---|---|
font_path | 詞云圖的字體路徑(OTF或TTF格式) |
width | 畫(huà)布的寬度、默認(rèn)為400,如果mask不為空時(shí),設(shè)置為mask獲取圖片的大小 |
height | 畫(huà)布的高度,默認(rèn)為200,如果mask不為空時(shí),設(shè)置為mask獲取圖片的大小 |
prefer_horizontal | 默認(rèn)值0.9;當(dāng)值1時(shí),遇到不合適的地方時(shí),算法將詞體自動(dòng)旋轉(zhuǎn) |
mask | 默認(rèn)為None;如果不為空,指定了畫(huà)布的圖形,則width和height值不生效,使用提供的圖形的大小 |
contour_width | 如果mask不為空,并且contour_width>0,將描繪出mask獲取圖片的輪廓,值越大,輪廓的線越粗 |
contour_color | 使用Mask時(shí),描繪圖片輪廓的顏色 |
scale | 圖片生成后放大縮小時(shí)的分辨率 |
min_font_size | 詞云圖顯示的最小字體,默認(rèn)為4 |
max_font_size | 詞云圖顯示的最大字體 |
max_words | 詞云顯示的最大詞數(shù) |
font_step | 字體步長(zhǎng) |
stopwords | 不顯示的詞,如果沒(méi)有設(shè)置,則使用默認(rèn)的內(nèi)置的STOPWORdS列表;如果使用generate_from_frequencies參數(shù),則忽略 |
background_color | 背景顏色 |
mode | 默認(rèn)為"RGB",當(dāng)mode="RGBA"并且background_color為None時(shí),將會(huì)顯示透明背景 |
relative_scaling | 字體大小與詞頻的關(guān)系,默認(rèn)值為auto |
color_func | 默認(rèn)為None,color_func=lambda *args, **kwargs:(255,0,0)詞云的字體顏色將這設(shè)置為紅色 |
regexp | 使用正則切分,默認(rèn)為r"\w[\w']+",如果使用generate_from_frequencies則此參數(shù)不生效 |
collocations | 是否包含兩個(gè)詞的搭配,默認(rèn)為T(mén)rue,如果使用generate_from_frequencies則此參數(shù)不生效 |
colormap | 設(shè)置顏色的參數(shù),默認(rèn)為"viridis",如果使用color_func參數(shù),則此參數(shù)不生效 |
normalize_plurals | 是否刪除尾隨的詞,比如's,如果使用generate_from_frequencies參數(shù),則此參數(shù)不生效 |
repeat | 是否重復(fù)詞組直到設(shè)置的最大的詞組數(shù) |
include_numbers | 是否包含數(shù)字,默認(rèn)我False |
min_word_length | 最小數(shù)量的詞,默認(rèn)為0 |
collocation_threshold | 默認(rèn)為30,整體搭配的評(píng)分等級(jí) |
3、WordCloud類方法詳解
方法 | 功能 |
---|---|
fit_words() | 根據(jù)詞頻生成詞云 |
generate_from_frequencies() | 根據(jù)詞頻生成詞云 |
generate() | 根據(jù)文本生成詞云 |
generate_from_text() | 根據(jù)文本生成詞云 |
process_text() | 將長(zhǎng)文本分詞,并去除屏蔽詞 |
recolor() | 對(duì)輸出顏色重新著色 |
to_array() | 轉(zhuǎn)換為numpy數(shù)組 |
to_file() | 保存為圖片文件 |
to_svg() | 保存為SVG(可縮放矢量圖形) |
1、簡(jiǎn)單圖案
代碼:
import wordcloud # 詞云使用的文字 text = "lemon" # 使用wordcloud.WordCloud類,并傳入相關(guān)的參數(shù) wc = wordcloud.WordCloud(background_color="white", repeat=True) wc.generate(text) # 保存圖片 wc.to_file('test1.png')
2、自定義圖片
代碼:
import wordcloud # 導(dǎo)入imageio庫(kù)中的imread函數(shù),并用這個(gè)函數(shù)讀取本地圖片,作為詞云形狀圖片 import imageio mk = imageio.imread("333.jpg") # 詞云使用的文字 text = "lemon" # 使用wordcloud.WordCloud類,并傳入相關(guān)的參數(shù) wc = wordcloud.WordCloud(background_color="white", repeat=True,mask=mk) wc.generate(text) # 保存圖片 wc.to_file('test1.png')
3、從文本讀取
代碼:
import wordcloud import jieba # 導(dǎo)入imageio庫(kù)中的imread函數(shù),并用這個(gè)函數(shù)讀取本地圖片,作為詞云形狀圖片 import imageio mk = imageio.imread("chen.jpg") # 使用wordcloud.WordCloud類,并傳入相關(guān)的參數(shù) wc = wordcloud.WordCloud(background_color="white", prefer_horizontal=0.5, repeat=True, mask=mk, font_path='/System/Library/Fonts/STHeiti Light.ttc', contour_width=2, contour_color='pink', collocation_threshold=100, ) # 對(duì)來(lái)自外部文件的文本進(jìn)行中文分詞,得到string f = open('gong.txt', encoding='utf-8') txt = f.read() txtlist = jieba.lcut(txt) string = " ".join(txtlist) # 將string變量傳入w的generate()方法,給詞云輸入文字 wc.generate(string) # 保存圖片 wc.to_file('test.png')
到此這篇關(guān)于Python詞云的正確實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Python詞云實(shí)現(xiàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:山西 濟(jì)南 長(zhǎng)沙 山西 安康 海南 崇左 喀什
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python詞云的正確實(shí)現(xiàn)方法實(shí)例》,本文關(guān)鍵詞 ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。