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

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

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

前言

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

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

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

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

二、詞云圖的基本原理

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

1.步驟一:讀取 Excel 文件

首先,使用 pandas 讀取 Excel 文件,并確保將詞匯和對應(yīng)的頻數(shù)提取出來。假設(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))

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

2.步驟二:生成詞云圖

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

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 創(chuàng)建詞云對象
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ù)說明

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

3.步驟三:保存詞云圖

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

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

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

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

(1)自定義形狀詞云圖不僅可以是矩形,還可以根據(jù)特定的形狀生成。例如,將詞云限制在一張圖片的輪廓內(nèi)。您可以通過以下方法實現(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)鍵點講解

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

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

  • 調(diào)整 max_font_size 和 max_words
    通過控制詞匯數(shù)量和最大字體大小,確保詞云圖在形狀內(nè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()

三、常見問題與解決方案

1.中文亂碼問題:

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

2.詞云生成不均勻:

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

四、總結(jié)

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

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

相關(guān)文章

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

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

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

    pytorch 歸一化與反歸一化實例

    今天小編就為大家分享一篇pytorch 歸一化與反歸一化實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python Pandas的簡單使用教程

    Python Pandas的簡單使用教程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

伊金霍洛旗| 大同县| 泰和县| 贵南县| 咸阳市| 屏东市| 大城县| 洛宁县| 安阳县| 乌什县| 襄汾县| 辉南县| 吴忠市| 泊头市| 南华县| 安化县| 景洪市| 济源市| 禄劝| 太仓市| 陇川县| 北流市| 顺昌县| 昂仁县| 泌阳县| 周口市| 紫阳县| 沛县| 连城县| 揭东县| 都匀市| 赤峰市| 宜君县| 罗平县| 乌拉特前旗| 随州市| 霍城县| 华亭县| 饶河县| 托克逊县| 阳城县|