最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python中wordcloud庫(kù)繪制詞云圖的詳細(xì)教程

 更新時(shí)間:2024年12月05日 11:26:41   作者:小高要堅(jiān)強(qiáng)  
這篇文章主要介紹了如何使用Python的wordcloud庫(kù)從Excel數(shù)據(jù)生成詞云圖,包括環(huán)境準(zhǔn)備、詞云圖的基本原理、生成詞云圖的步驟、保存詞云圖以及高級(jí)自定義(形狀與顏色),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

詞云圖(Word Cloud)是數(shù)據(jù)可視化中常用的一種技術(shù),通過(guò)將文字以不同的大小、顏色和方向排列,以展示文本數(shù)據(jù)中詞匯的頻次和重要性。對(duì)于文本分析、情感分析、關(guān)鍵詞提取等應(yīng)用,詞云圖都能夠直觀地展現(xiàn)信息。本文將詳細(xì)介紹如何使用 Python 中的 wordcloud 庫(kù)從 Excel 數(shù)據(jù)繪制詞云圖,幫助您快速上手詞云圖的生成和定制化。

一、環(huán)境準(zhǔn)備

在開(kāi)始之前,請(qǐng)確保您的開(kāi)發(fā)環(huán)境中已經(jīng)安裝了以下庫(kù):

pip install wordcloud pandas matplotlib openpyxl
  • wordcloud:用于生成詞云圖。
  • pandas:處理 Excel 文件中的詞頻數(shù)據(jù)。
  • matplotlib:用于展示和保存詞云圖。
  • openpyxl:讀取 Excel 文件。

二、詞云圖的基本原理

詞云圖的生成主要基于詞匯的頻數(shù),頻數(shù)越高的詞匯在圖中的字號(hào)越大。在 Python 中,wordcloud 庫(kù)提供了多種自定義選項(xiàng),例如字體、顏色、形狀、最大詞數(shù)等。接下來(lái),我們將基于一個(gè)簡(jiǎn)單的 Excel 詞頻表格,逐步實(shí)現(xiàn)從數(shù)據(jù)加載到詞云圖繪制的過(guò)程。

1.步驟一:讀取 Excel 文件

首先,使用 pandas 讀取 Excel 文件,并確保將詞匯和對(duì)應(yīng)的頻數(shù)提取出來(lái)。假設(shè) Excel 文件包含兩列:詞匯 和 頻數(shù)。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('詞匯頻數(shù)表.xlsx')

# 確保數(shù)據(jù)按需加載
words = df['詞匯'].values
frequencies = df['頻數(shù)'].values

# 將詞匯和頻數(shù)組合成字典
word_freq = dict(zip(words, frequencies))

此時(shí),word_freq 字典包含了詞匯和它們對(duì)應(yīng)的頻數(shù),格式如:{‘詞匯1’: 10, ‘詞匯2’: 15, …}。

2.步驟二:生成詞云圖

接下來(lái),我們利用 wordcloud 庫(kù)生成詞云圖??梢愿鶕?jù)實(shí)際需求自定義詞云圖的顯示樣式。

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 創(chuàng)建詞云對(duì)象
wordcloud = WordCloud(
    font_path='simhei.ttf',  # 設(shè)置字體路徑,確保中文顯示
    background_color='white',  # 背景色
    width=800,  # 圖像寬度
    height=400,  # 圖像高度
    max_words=200,  # 最大詞匯數(shù)
    max_font_size=100,  # 最大字體大小
    colormap='viridis'  # 顏色方案
).generate_from_frequencies(word_freq)

# 繪制并展示詞云圖
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')  # 關(guān)閉坐標(biāo)軸
plt.show()

參數(shù)說(shuō)明

  • font_path:指定字體文件路徑,這里使用了 “simhei.ttf” 以確保中文能夠正確顯示。
  • background_color:設(shè)置背景顏色,可選值包括 black, white, gray 等。
  • width 和 height:控制詞云圖的尺寸。
  • max_words:控制詞云圖中顯示的最大詞匯數(shù)。
  • max_font_size:控制最大字體的字號(hào)。
  • colormap:控制顏色映射方案,支持多種內(nèi)置方案如 viridis, plasma, inferno 等。

3.步驟三:保存詞云圖

繪制完成后,您可以將詞云圖保存為圖片文件,便于分享和展示。

# 保存詞云圖到文件
wordcloud.to_file('wordcloud.png')

一般在該步驟就已經(jīng)結(jié)束啦~

4.步驟四:高級(jí)自定義(形狀與顏色)

(1)自定義形狀詞云圖不僅可以是矩形,還可以根據(jù)特定的形狀生成。例如,將詞云限制在一張圖片的輪廓內(nèi)。您可以通過(guò)以下方法實(shí)現(xiàn):

from PIL import Image
import numpy as np

# 加載形狀模板圖片
mask = np.array(Image.open('mask.png'))

# 生成帶有形狀的詞云
wordcloud = WordCloud(
    font_path='simhei.ttf',
    background_color='white',
    mask=mask,  # 設(shè)置詞云形狀
    contour_width=1,  # 輪廓寬度
    contour_color='black'  # 輪廓顏色
).generate_from_frequencies(word_freq)

# 展示詞云圖
plt.figure(figsize=(10, 10))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

關(guān)鍵點(diǎn)講解

  • 高清圖片作為 mask
    使用高分辨率的黑白圓形圖片,詞云的清晰度會(huì)顯著提升。白色部分將作為背景,黑色部分是生成詞云的區(qū)域。

  • contour_width 和 contour_color 參數(shù)
    設(shè)置輪廓寬度和顏色,可以讓詞云圖的形狀更加突出。

  • 調(diào)整 max_font_size 和 max_words
    通過(guò)控制詞匯數(shù)量和最大字體大小,確保詞云圖在形狀內(nèi)分布均勻且美觀。

    這是換了一個(gè)愛(ài)麗絲Alice的mask的詞云圖。
    (2)自定義顏色如果想讓詞云中的詞匯顏色更加多樣,可以使用 ImageColorGenerator 從圖片中提取顏色:

from wordcloud import ImageColorGenerator

# 基于模板圖片生成顏色
image_colors = ImageColorGenerator(mask)

# 繪制詞云圖并應(yīng)用顏色
plt.figure(figsize=(10, 10))
plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation='bilinear')
plt.axis('off')
plt.show()

三、常見(jiàn)問(wèn)題與解決方案

1.中文亂碼問(wèn)題:

使用 wordcloud 生成詞云時(shí),若不指定中文字體,中文會(huì)顯示為方塊。解決方法是指定支持中文的字體,例如 “simhei.ttf”。

2.詞云生成不均勻:

嘗試調(diào)整 max_font_size 和 mask 參數(shù),使詞云分布更為美觀。

四、總結(jié)

本文詳細(xì)介紹了如何從 Excel 表格生成詞云圖,并通過(guò)實(shí)例展示了詞云圖的自定義生成方法。詞云圖作為一種直觀的數(shù)據(jù)可視化手段,在文本分析中有著廣泛應(yīng)用??梢栽俳Y(jié)合深度學(xué)習(xí)的自然語(yǔ)言處理技術(shù),詞云圖可以進(jìn)一步擴(kuò)展用于更復(fù)雜的文本挖掘場(chǎng)景。

到此這篇關(guān)于使用Python中wordcloud庫(kù)繪制詞云圖的文章就介紹到這了,更多相關(guān)Python繪制詞云圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python開(kāi)發(fā)一個(gè)選擇題訓(xùn)練工具

    基于Python開(kāi)發(fā)一個(gè)選擇題訓(xùn)練工具

    選擇題作為一種高效的方式被廣泛應(yīng)用于各類(lèi)培訓(xùn)與考試中,為了幫助學(xué)生高效學(xué)習(xí)與自測(cè),本篇文章將采用Python編寫(xiě)一款基于?Python?開(kāi)發(fā)的選擇題訓(xùn)練工具,需要的可以參考下
    2024-12-12
  • pytorch 歸一化與反歸一化實(shí)例

    pytorch 歸一化與反歸一化實(shí)例

    今天小編就為大家分享一篇pytorch 歸一化與反歸一化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python Pandas的簡(jiǎn)單使用教程

    Python Pandas的簡(jiǎn)單使用教程

    Pandas 是python的一個(gè)數(shù)據(jù)分析包,最初由AQR Capital Management于2008年4月開(kāi)發(fā),并于2009年底開(kāi)源出來(lái),目前由專(zhuān)注于Python數(shù)據(jù)包開(kāi)發(fā)的PyData開(kāi)發(fā)team繼續(xù)開(kāi)發(fā)和維護(hù),今天通過(guò)本文給大家介紹Python Pandas的簡(jiǎn)單使用教程,感興趣的朋友一起看看吧
    2021-08-08
  • Python運(yùn)算符的應(yīng)用超全面詳細(xì)教程

    Python運(yùn)算符的應(yīng)用超全面詳細(xì)教程

    Python運(yùn)算符是為了實(shí)現(xiàn)數(shù)值或字符運(yùn)算的特殊符號(hào)。Python運(yùn)算符可以分為算術(shù)運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、成員運(yùn)算符、身份運(yùn)算符、比較運(yùn)算符、三目運(yùn)算符等。接下來(lái),我們就開(kāi)始來(lái)學(xué)習(xí)這一堆符號(hào)吧
    2022-07-07
  • python中web框架的自定義創(chuàng)建

    python中web框架的自定義創(chuàng)建

    這篇文章主要為大家詳細(xì)介紹了python中web框架的自定義創(chuàng)建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Python使用Phantomjs截屏網(wǎng)頁(yè)的方法

    Python使用Phantomjs截屏網(wǎng)頁(yè)的方法

    今天小編就為大家分享一篇Python使用Phantomjs截屏網(wǎng)頁(yè)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python實(shí)現(xiàn)人工智能Ai摳圖功能

    python實(shí)現(xiàn)人工智能Ai摳圖功能

    這篇文章主要介紹了python實(shí)現(xiàn)人工智能Ai摳圖功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法

    Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法

    這篇文章主要給大家介紹了關(guān)于Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法,閃退問(wèn)題通常是由于程序運(yùn)行過(guò)程中出現(xiàn)了未處理的異常或錯(cuò)誤,導(dǎo)致程序崩潰,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 編程語(yǔ)言Python的發(fā)展史

    編程語(yǔ)言Python的發(fā)展史

    這篇文章主要介紹了編程語(yǔ)言Python的發(fā)展史,本文詳細(xì)介紹了Python語(yǔ)言的發(fā)展歷史,需要的朋友可以參考下
    2014-09-09
  • 嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例

    嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例

    這篇文章主要介紹了嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例,盡管有GIL的存在使得Python并不能真正實(shí)現(xiàn)多線程并行,需要的朋友可以參考下
    2015-11-11

最新評(píng)論

望城县| 孟津县| 苏尼特左旗| 韶关市| 浪卡子县| 汽车| 武乡县| 台前县| 贵州省| 志丹县| 迭部县| 通城县| 阿尔山市| 南溪县| 瓮安县| 湖州市| 文安县| 来凤县| 南华县| 古交市| 浮梁县| 西林县| 台东市| 沙湾县| 林口县| 唐河县| 山东省| 罗山县| 金溪县| 徐闻县| 孟津县| 高邮市| 大庆市| 共和县| 尼木县| 大安市| 库尔勒市| 八宿县| 阿城市| 虎林市| 湖南省|