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

Python(wordcloud)如何根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖

 更新時間:2024年05月23日 11:51:06   作者:十八只兔  
這篇文章主要給大家介紹了關(guān)于Python(wordcloud)如何根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖的相關(guān)資料,詞云Wordcloud是文本數(shù)據(jù)的一種可視化表示方式,它通過設(shè)置不同的字體大小或顏色來表現(xiàn)每個術(shù)語的重要性,需要的朋友可以參考下

一、前言

本文將介紹如何利用python來根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖,除了繪制常規(guī)形狀的詞云圖(比如長方形),還可以指定詞云圖的形狀。

二、相關(guān)庫的介紹

1、安裝相關(guān)的庫

pip install jieba
pip install matplotlib
pip install wordcloud
pip install numpy
pip install Image 

2、 導(dǎo)入相關(guān)的庫

import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import numpy as np
from PIL import Image # 圖像處理

3、 相關(guān)庫的介紹

  • jieba:
    結(jié)巴分詞庫,一個中文分詞庫。由于中文文本的每個漢字都是連續(xù)書寫的,因此需要對文本進行分詞來獲得中文文本的每個詞組,即分詞。

  • matplotlib.pyplot
    圖像展示庫。用來創(chuàng)建畫布以及相關(guān)的圖像展示。在繪圖前,需要創(chuàng)建一個figure對象,即需要一張畫板才能開始繪圖。

  • wordcloud :
    詞云展示庫,可以根據(jù)文本的詞頻,對內(nèi)容進行詞云圖的可視化。

  • numpy
    numpy是Python的一個開源的數(shù)值計算擴展庫,主要用于處理大型多維數(shù)組和矩陣,以及進行高效的數(shù)學(xué)運算,廣泛應(yīng)用于數(shù)據(jù)分析、機器學(xué)習(xí)、信號處理等領(lǐng)域。

  • Image
    Image模塊是一個強大的圖像處理工具,提供了對圖像文件的讀寫和處理的功能。也提供了各種功能和方法來處理和操作圖像,包括加載、保存、調(diào)整大小、旋轉(zhuǎn)、裁剪、應(yīng)用濾鏡等。

三、數(shù)據(jù)處理

1、中文分詞

  • 中文分詞可以將中文語句切割成單獨的詞組;
  • 中文分詞的工具有很多,比如 python 的第三方庫 jieba;
  • jieba 支持三種分詞模式:全模式、精確模式、搜索引擎模式。結(jié)巴分詞最主
    要的方法是 cut 方法

(1)精確模式

  • 試圖將句子最精確地切開,適合文本分析
  • 結(jié)巴分詞默認(rèn)為該模式
jieba.cut("文本內(nèi)容",cut_all=False)

(2)全模式

  • 把句子中所有可以成詞的詞語都掃描出來,速度很快,但是不能解決歧義
jieba.cut("文本內(nèi)容",cut_all=True)

(3)搜索引擎模式

  • 在精確模式的基礎(chǔ)上,對長詞再次切分,提高召回率

2、去除停用詞

  • 對中文來說,包括像“的”、“和”、“在”、“是”等副詞、量詞、介詞、嘆詞、數(shù)詞都是停用詞。這些詞匯幾乎在所有中文文本都會出現(xiàn),不具有特殊性,沒有區(qū)分度,所以通常會把這些詞從文本中去除;
  • 去除停用詞需要一個停詞表stopword.txt,將分詞后的文本中每個詞與停詞字典中的條目進行匹配。如果匹配成功,該詞將被刪除;
  • 直接百度搜索停詞表并下載就好了
    (由于本文用到的數(shù)據(jù)集的文本內(nèi)容比較簡單,因此沒有執(zhí)行去除停用詞這一步的操作)

四、實現(xiàn)

1、繪制基本詞云圖

(1)核心

在以下代碼中,根據(jù)實際更改文件的讀取路徑以及保存路徑即可:

(2)WordCloud 參數(shù)解釋

  • 參數(shù)解釋
參數(shù)解釋
width詞云圖的寬度(默認(rèn)400像素)
height詞云圖的高度(默認(rèn)200像素)
max_font_size詞云圖字體的最大字號(根據(jù)圖片高度自動調(diào)節(jié))
min_font_size詞云圖字體的最小字號(默認(rèn)為4號字體)
max_words詞云圖顯示的最大單詞數(shù)(默認(rèn)200)
stop_words不顯示的詞語、單詞
mask指定詞云圖的形狀(默認(rèn)為長方形)
background_color詞云圖的背景顏色(默認(rèn)為黑色)
font_path字體文件的路徑
  • 如果文本是中文的,需要設(shè)置字體,否則會亂碼
font_path = "C:\Windows\Fonts\Microsoft YaHei UI\msyh.ttc"

(3)完整代碼:

import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud

# 讀取文本文件
text = open(r"C:\Users\abc\Desktop\詞云圖數(shù)據(jù)\grape.txt", encoding="utf-8").read()
# 對文本進行分詞,默認(rèn)精確模式
text1=jieba.cut(text)
# 以空格作為分隔符,將分詞后的所有字符串合并成一個新的字符串
text = ' '.join(text1)
# 根據(jù)分詞結(jié)果產(chǎn)生詞云
wc = WordCloud(font_path = "C:\Windows\Fonts\Microsoft YaHei UI\msyh.ttc",width=500, height=400, mode="RGBA", background_color=None).generate(text)
# 以圖片的形式顯示詞云
plt.imshow(wc, interpolation="bilinear")
# 不顯示圖像坐標(biāo)系
plt.axis("off")
# 顯示圖像
plt.show()
#保存詞云圖
wc.to_file(r"\Users\abc\Desktop\res.png")
  • 以陳奕迅《葡萄成熟時》的歌詞作為文本數(shù)據(jù),詞云圖的結(jié)果如下:

2、繪制指定形狀的詞云圖

  • 有時候需要指定詞云圖的形狀,我們可以通過導(dǎo)入背景圖片作為詞云圖的底圖來實現(xiàn)
  • 注意:背景圖片的背景一定要是白色的,不可以是其他顏色或者透明
  • 以下面的葡萄圖片作為背景圖片:

(1)核心代碼

需要使用numpy庫以及Image庫來對背景圖片進行圖像處理

  • 詞云圖的結(jié)果如下:

(2)詞云圖優(yōu)化

  • 我們可以給背景圖的輪廓進行清晰化,比如給輪廓添加粗度和顏色

  • 優(yōu)化后的詞云圖如下:

(3)完整代碼:

import wordcloud
import jieba
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image # 圖像處理

#打開背景圖片
pic = Image.open("grape.jpg")
# 提取圖片的輪廓
shape = np.array(pic)
# mask為圖片背景,font_path為字體,若不設(shè)置可能亂碼
wc = wordcloud.WordCloud(mask=shape, font_path="simkai.ttf", background_color="white", contour_color='purple',contour_width=3,
max_font_size=100)
#讀取要分詞的文本文件
text = open(r'C:\Users\abc\Desktop\詞云圖數(shù)據(jù)\grape.txt', "r", encoding='UTF-8').read()
#結(jié)巴分詞
cut_text = jieba.cut(text)
result = " ".join(cut_text)
#生成詞云圖
wc.generate(result)
#保存詞云圖
wc.to_file("cloud.jpg")
# 以圖片的形式顯示詞云
plt.imshow(wc, interpolation="bilinear")
# 不顯示圖像坐標(biāo)系
plt.axis("off")
# 顯示圖像
plt.show()

總結(jié) 

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

相關(guān)文章

  • Python+OpenCV實戰(zhàn)之實現(xiàn)文檔掃描

    Python+OpenCV實戰(zhàn)之實現(xiàn)文檔掃描

    這篇文章主要為大家詳細(xì)介紹了Python+Opencv如何實現(xiàn)文檔掃描的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Pytorch DataLoader shuffle驗證方式

    Pytorch DataLoader shuffle驗證方式

    這篇文章主要介紹了Pytorch DataLoader shuffle驗證方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python強化練習(xí)之Tensorflow2 opp算法實現(xiàn)月球登陸器

    Python強化練習(xí)之Tensorflow2 opp算法實現(xiàn)月球登陸器

    在面向?qū)ο蟪霈F(xiàn)之前,我們采用的開發(fā)方法都是面向過程的編程(OPP)。面向過程的編程中最常用的一個分析方法是“功能分解”。我們會把用戶需求先分解成模塊,然后把模塊分解成大的功能,再把大的功能分解成小的功能,整個需求就是按照這樣的方式,最終分解成一個一個的函數(shù)
    2021-10-10
  • PyTorch 如何檢查模型梯度是否可導(dǎo)

    PyTorch 如何檢查模型梯度是否可導(dǎo)

    這篇文章主要介紹了PyTorch 檢查模型梯度是否可導(dǎo)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 破解安裝Pycharm的方法

    破解安裝Pycharm的方法

    今天小編就為大家分享一篇關(guān)于破解安裝Pycharm的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Python自動化文件處理之如何批量壓縮和解壓文件

    Python自動化文件處理之如何批量壓縮和解壓文件

    處理大量文件時,手動一個個壓縮解壓太費勁啦,Python就能幫咱們搞定這事,咱今天就說說咋用Python實現(xiàn)文件的批量壓縮和解壓,絕對能幫你省不少時間
    2025-09-09
  • Python解析json時提示“string indices must be integers”問題解決方法

    Python解析json時提示“string indices must be integers”問題解決方法

    這篇文章主要介紹了Python解析json時提示“string indices must be integers”問題解決方法,結(jié)合實例形式分析了Python解析json字符串操作規(guī)范與相關(guān)使用技巧,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)控制臺中的進度條功能代碼

    Python實現(xiàn)控制臺中的進度條功能代碼

    下面小編就為大家分享一篇Python實現(xiàn)控制臺中的進度條功能代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Django 限制用戶訪問頻率的中間件的實現(xiàn)

    Django 限制用戶訪問頻率的中間件的實現(xiàn)

    這篇文章主要介紹了Django 限制用戶訪問頻率的中間件的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python使用Pydantic實現(xiàn)數(shù)據(jù)校驗的最佳實踐

    Python使用Pydantic實現(xiàn)數(shù)據(jù)校驗的最佳實踐

    Pydantic是一個Python庫,用于數(shù)據(jù)驗證和解析,這篇文章主要介紹了Python如何使用Pydantic實現(xiàn)數(shù)據(jù)校驗功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03

最新評論

吉安县| 青岛市| 茂名市| 四子王旗| 湘阴县| 黄龙县| 和林格尔县| 临朐县| 兴城市| 祥云县| 武威市| 山东| 治多县| 赞皇县| 铅山县| 嘉黎县| 固原市| 双峰县| 肇东市| 鹤峰县| 稷山县| 上思县| 汉川市| 阳城县| 鄂尔多斯市| 宁陕县| 黄浦区| 明水县| 清河县| 波密县| 澄城县| 百色市| 花莲市| 于田县| 金湖县| 巴青县| 河西区| 库尔勒市| 长岛县| 佛坪县| 金塔县|