主頁 > 知識庫 > Python詞云的正確實現(xiàn)方法實例

Python詞云的正確實現(xiàn)方法實例

熱門標簽:激戰(zhàn)2地圖標注 騰訊外呼線路 哈爾濱ai外呼系統(tǒng)定制 唐山智能外呼系統(tǒng)一般多少錢 白銀外呼系統(tǒng) 陜西金融外呼系統(tǒng) 海南400電話如何申請 廣告地圖標注app 公司電話機器人

一、相關(guān)模塊

jieba:中文分詞

wordcloud :Python詞云庫

imageio:讀取圖形數(shù)據(jù)

安裝:

pip install jieba
pip install wordcloud
pip install imageio

二、wordcloud四大類

功能
WordCloud([font_path, width, height, …]) 生成和繪制詞云對象
ImageColorGenerator(image[, default_color]) 基于圖片的色彩
random_color_func([word, font_size, …]) 隨機生成顏色
get_single_color_func(color) 創(chuàng)建一個顏色函數(shù),它返回一個色調(diào)和飽和度

三、wordcloud類

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 畫布的寬度、默認為400,如果mask不為空時,設(shè)置為mask獲取圖片的大小
height 畫布的高度,默認為200,如果mask不為空時,設(shè)置為mask獲取圖片的大小
prefer_horizontal 默認值0.9;當值1時,遇到不合適的地方時,算法將詞體自動旋轉(zhuǎn)
mask 默認為None;如果不為空,指定了畫布的圖形,則width和height值不生效,使用提供的圖形的大小
contour_width 如果mask不為空,并且contour_width>0,將描繪出mask獲取圖片的輪廓,值越大,輪廓的線越粗
contour_color 使用Mask時,描繪圖片輪廓的顏色
scale 圖片生成后放大縮小時的分辨率
min_font_size 詞云圖顯示的最小字體,默認為4
max_font_size 詞云圖顯示的最大字體
max_words 詞云顯示的最大詞數(shù)
font_step 字體步長
stopwords 不顯示的詞,如果沒有設(shè)置,則使用默認的內(nèi)置的STOPWORdS列表;如果使用generate_from_frequencies參數(shù),則忽略
background_color 背景顏色
mode 默認為"RGB",當mode="RGBA"并且background_color為None時,將會顯示透明背景
relative_scaling 字體大小與詞頻的關(guān)系,默認值為auto
color_func 默認為None,color_func=lambda *args, **kwargs:(255,0,0)詞云的字體顏色將這設(shè)置為紅色
regexp 使用正則切分,默認為r"\w[\w']+",如果使用generate_from_frequencies則此參數(shù)不生效
collocations 是否包含兩個詞的搭配,默認為True,如果使用generate_from_frequencies則此參數(shù)不生效
colormap 設(shè)置顏色的參數(shù),默認為"viridis",如果使用color_func參數(shù),則此參數(shù)不生效
normalize_plurals 是否刪除尾隨的詞,比如's,如果使用generate_from_frequencies參數(shù),則此參數(shù)不生效
repeat 是否重復詞組直到設(shè)置的最大的詞組數(shù)
include_numbers 是否包含數(shù)字,默認我False
min_word_length 最小數(shù)量的詞,默認為0
collocation_threshold 默認為30,整體搭配的評分等級

3、WordCloud類方法詳解

方法 功能
fit_words() 根據(jù)詞頻生成詞云
generate_from_frequencies() 根據(jù)詞頻生成詞云
generate() 根據(jù)文本生成詞云
generate_from_text() 根據(jù)文本生成詞云
process_text() 將長文本分詞,并去除屏蔽詞
recolor() 對輸出顏色重新著色
to_array() 轉(zhuǎn)換為numpy數(shù)組
to_file() 保存為圖片文件
to_svg() 保存為SVG(可縮放矢量圖形)

四、實例

1、簡單圖案

代碼:

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

# 導入imageio庫中的imread函數(shù),并用這個函數(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

# 導入imageio庫中的imread函數(shù),并用這個函數(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,
                         )

# 對來自外部文件的文本進行中文分詞,得到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')



總結(jié)

到此這篇關(guān)于Python詞云的正確實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Python詞云實現(xiàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python生成詞云的實現(xiàn)方法(推薦)
  • 使用python實現(xiàn)個性化詞云的方法
  • 詳解Python如何生成詞云的方法
  • Python制作詞云圖代碼實例
  • 用Python和WordCloud繪制詞云的實現(xiàn)方法(內(nèi)附讓字體清晰的秘笈)
  • Python基于jieba庫進行簡單分詞及詞云功能實現(xiàn)方法
  • Python制作詞云的方法
  • python詞云庫wordCloud使用方法詳解(解決中文亂碼)
  • python詞云庫wordcloud的使用方法與實例詳解
  • 用python結(jié)合jieba和wordcloud實現(xiàn)詞云效果

標簽:黔西 益陽 黑龍江 惠州 上海 四川 鷹潭 常德

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python詞云的正確實現(xiàn)方法實例》,本文關(guān)鍵詞  Python,詞,云的,正確,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python詞云的正確實現(xiàn)方法實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python詞云的正確實現(xiàn)方法實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章