中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python怎么實現一個詞云功能

發布時間:2021-05-08 16:49:36 來源:億速云 閱讀:221 作者:Leah 欄目:開發技術

使用Python怎么實現一個詞云功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Python的優點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。

一、相關模塊

jieba:中文分詞

wordcloud :Python詞云庫

imageio:讀取圖形數據

安裝:

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)創建一個顏色函數,它返回一個色調和飽和度

三、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參數詳解

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

3、WordCloud類方法詳解

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

四、實例

1、簡單圖案

使用Python怎么實現一個詞云功能

代碼:

import wordcloud

# 詞云使用的文字
text = "lemon"

# 使用wordcloud.WordCloud類,并傳入相關的參數
wc = wordcloud.WordCloud(background_color="white", repeat=True)
wc.generate(text)

# 保存圖片
wc.to_file('test1.png')

2、自定義圖片

使用Python怎么實現一個詞云功能

代碼:

import wordcloud

# 導入imageio庫中的imread函數,并用這個函數讀取本地圖片,作為詞云形狀圖片
import imageio
mk = imageio.imread("333.jpg")

# 詞云使用的文字
text = "lemon"

# 使用wordcloud.WordCloud類,并傳入相關的參數
wc = wordcloud.WordCloud(background_color="white", repeat=True,mask=mk)
wc.generate(text)

# 保存圖片
wc.to_file('test1.png')

3、從文本讀取

使用Python怎么實現一個詞云功能

代碼:

import wordcloud
import jieba

# 導入imageio庫中的imread函數,并用這個函數讀取本地圖片,作為詞云形狀圖片
import imageio
mk = imageio.imread("chen.jpg")

# 使用wordcloud.WordCloud類,并傳入相關的參數
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')

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普定县| 南华县| 宁南县| 宽城| 广汉市| 襄汾县| 岐山县| 胶州市| 高平市| 廉江市| 阿瓦提县| 大理市| 临澧县| 宜君县| 盐池县| 定襄县| 安徽省| 来宾市| 昂仁县| 小金县| 呼图壁县| 定边县| 崇左市| 洞口县| 青田县| 延津县| 天台县| 云霄县| 瑞昌市| 图木舒克市| 萨嘎县| 南丰县| 平阳县| 南雄市| 正定县| 施甸县| 明水县| 开平市| 达孜县| 长白| 鸡东县|