【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 基于wordcloud庫實現詞云圖

大家好,我是java1234_小鋒老師,最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts)視頻教程,持續更新中,計劃月底更新完,感謝支持。今天講解基于wordcloud庫實現詞云圖

視頻在線地址:

2026版【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts+爬蟲) 視頻教程 (火爆連載更新中..)_嗶哩嗶哩_bilibili

課程簡介:


本課程采用主流的Python技術棧實現,Mysql8數據庫,Flask后端,Pandas數據分析,前端可視化圖表采用echarts,以及requests庫,snowNLP進行情感分析,詞頻統計,包括大量的數據統計及分析技巧。

實現了,用戶登錄,注冊,爬取微博帖子和評論信息,進行了熱詞統計以及輿情分析,以及基于echarts實現了數據可視化,包括微博文章分析,微博IP分析,微博評論分析,微博輿情分析。最后也基于wordcloud庫實現了詞云圖,包括微博內容詞云圖,微博評論詞云圖,微博評論用戶詞云圖等功能。

基于wordcloud庫實現詞云圖

詞云(Word Cloud) 是一種文本數據可視化形式,通過不同大小、顏色和布局的詞匯展示文本中的關鍵詞頻率。詞匯出現頻率越高,在詞云中顯示得越大、越突出。常用于快速識別文本主題、情感分析或數據摘要。

核心特點

  1. 視覺突出:高頻詞匯尺寸更大、更醒目

  2. 自定義靈活:支持形狀、顏色、字體等深度定制

  3. 快速洞察:一眼識別文本核心主題

  4. 應用廣泛:社交媒體分析、用戶評論摘要、報告生成等

安裝wordcloud庫

pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple

以下是 wordcloud.WordCloud 類構造方法的完整參數說明,掌握這些參數可以創建高度定制化的詞云:

WordCloud(# 核心參數font_path=None,      # 字體路徑(解決中文顯示必備)width=400,           # 圖像寬度(像素)height=200,          # 圖像高度(像素)margin=2,            # 邊距(像素)# 顏色與樣式background_color="black",  # 背景色colormap=None,       # 顏色映射(如'viridis'/'plasma',與color_func二選一)color_func=None,     # 自定義顏色函數# 文本處理max_words=200,       # 最大顯示詞數stopwords=None,      # 停用詞集合min_word_length=0,   # 最小詞長(過濾短詞)collocations=True,   # 是否包含雙詞搭配(bigram)# 字體控制max_font_size=None,  # 最大字體尺寸(自動計算)min_font_size=4,     # 最小字體尺寸font_step=1,         # 字體步進值(越大渲染越快)relative_scaling=.5, # 詞頻縮放比例(0-1,1為線性)# 布局與形狀mask=None,           # 形狀蒙版(numpy數組)contour_width=0,     # 輪廓線寬contour_color='black',# 輪廓顏色# 重復詞處理repeat=False,        # 是否允許重復詞include_numbers=False, # 是否包含數字normalize_plurals=True # 復數歸一化(如word/words)# 其他高級參數prefer_horizontal=.9, # 水平詞比例(0.9=90%詞水平)scale=1,             # 圖像縮放比例(>1提高分辨率)random_state=None,   # 隨機種子(固定布局)collocation_threshold=30, # 雙詞搭配閾值mode="RGB",          # 圖像模式(RGB/RGBA)
)

常用參數詳解

參數說明示例值
width/height圖片尺寸800, 400
background_color背景色"white", "#000000"
max_words最大詞匯數量200
colormap顏色映射"viridis", "tab20"
mask形狀模板numpy數組
stopwords停用詞表set(["a", "the"])
font_path字體路徑"arial.ttf"

下面是示例代碼:

import sysimport numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from wordcloud import WordCloudsys.path.append('static')if __name__ == '__main__':text = "牛掰 牛逼 大佬 我去 張三 卡卡 嘿嘿 哈哈 生成 商城 氣死我了 不去 就不要 好滴 驕傲 好的 大戰 發展 求生 共存 火了 劉安 伙計 火雞 打火機"img = Image.open('article_mask.jpg')  # 形狀模版圖片img_arr = np.array(img)  # 轉成圖片數組對象wc = WordCloud(width=800,height=600,background_color='white',colormap='Blues',font_path='STHUPO.TTF',mask=img_arr)wc.generate_from_text(text)# 繪制圖片plt.imshow(wc)# 不顯示坐標軸plt.axis('off')outImg = 'wordcloud_test.jpg'plt.savefig('wordcloud_test.jpg', dpi=500)

我們可以封裝下,做成一個生成詞云圖的工具方法genWordCloudPic(),其他地方就可以傳參直接調用生成詞云圖。

import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from wordcloud import WordClouddef genWordCloudPic(str, maskImg, outImg):"""生成云圖:param str: 詞云 空格隔開:param maskImg: 形狀模版圖片:param outImg: 輸出的詞云圖文件名:return:"""img = Image.open(maskImg)  # 形狀模版圖片img_arr = np.array(img)  # 轉成圖片數組對象wc = WordCloud(width=800,height=600,background_color='white',colormap='Blues',font_path='STHUPO.TTF',mask=img_arr)wc.generate_from_text(str)# 繪制圖片plt.imshow(wc)# 不顯示坐標軸plt.axis('off')plt.savefig(outImg, dpi=500)if __name__ == '__main__':text = "牛掰2 牛逼 大佬 我去 張三 卡卡 嘿嘿 哈哈 生成 商城 氣死我了 不去 就不要 好滴 驕傲 好的 大戰 發展 求生 共存 火了 劉安 伙計 火雞 打火機"genWordCloudPic(text, 'comment_mask.jpg', 'wordcloud_test2.jpg')

運行生成:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92269.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92269.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92269.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3 面試題及詳細答案120道(31-45 )

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

Proxmox VE 8.3/8.4開啟Intel 核顯的vGPU,搭建vGPU云桌面系統

1. Intel Graphics SR-IOV 介紹Intel Graphics SR-IOV 是 Intel 最新的圖形虛擬化技術。單根 I/O 虛擬化 (SR-IOV) 通過將設備劃分為多個虛擬功能來定義共享物理設備功能的標準方法。每個虛擬函數都直接分配給一個虛擬機,從而為虛擬機實現接近…

LeetCode 熱題100

文章目錄哈希兩數之和字母異位詞分組最長連續序列雙指針移動零盛最多水的容器滑動窗口子串多刷題 LeetCode 熱題100 哈希 兩數之和 思路分析: 暴力做法:每一個數字都與剩余的數字作比較,時間復雜度是O(n2)O(n^2)O(n2)哈希做法:我…

Idea或Pycharm上.idea的忽略提交的問題總結

文章目錄問題描述如果是首次提交或者之后的提交代碼時把.idea及其文件提交到遠端倉庫中,此時再創建.gitignore會不生效。問題描述 由于在代碼托管平臺上創建的項目,沒有關聯創建.gitignore文件。導致git 克隆到本地電腦上時,項目的根目錄下也…

【鎖】MySQL中有哪幾種鎖?

📚 歡迎來到我的Java八股文專欄! 🎉 各位程序員小伙伴們好呀~ 👋 我是雪碧聊技術,很高興能在CSDN與大家相遇!? 🚀 專欄介紹 這個專欄將專注于分享Java面試中的經典"八股文"知識點 &a…

曠視科技視覺算法面試30問全景精解

曠視科技視覺算法面試30問全景精解 ——AI賦能 智能安防 視覺創新:曠視科技視覺算法面試核心考點全覽 前言 曠視科技(Megvii)作為全球領先的人工智能公司,專注于計算機視覺、深度學習和智能安防等領域,推動人臉識別、…

docker nginx 部署前端踩坑記錄

文章目錄坑點1:localhost 與127.0.0.1坑點1:localhost 與127.0.0.1 server {listen 80 default_server;client_max_body_size 20M;# 記錄訪問日志和錯誤日志access_log /var/log/nginx/host.access.log main;error_log /var/log/nginx/error.l…

JAVA_TEN-面向對象高級一

一.Static一 定義:叫靜態,可以修飾成員變量、成員方法成員變量按有無static修飾,分為兩種:類變量:有static 修飾,屬于類,在計算機里只有一份,會被類的全部對象共享。實例變量&#x…

幻獸帕魯開服教程

以下均為個人推薦,不喜勿噴,望審核大大明辨開服條件一臺帶公網的vps服務器(需開放udp),配置至少為4c16g,推薦8c32g開服需要準備的工具:steamcmd:https://steamcdn-a.akamaihd.net/cl…

lesson21:Python面向對象編程

目錄 引言 一、了解面向對象編程(OOP):編程范式的革命 1.1 什么是面向對象編程? 1.2 OOP vs 面向過程:思維方式的差異 1.3 OOP的三大核心特性 二、類與對象:OOP的基石 2.1 類(Class&#…

基于卷積神經網絡與小波變換的醫學圖像超分辨率算法復現

基于卷積神經網絡與小波變換的醫學圖像超分辨率算法復現 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 1. 引言 醫學圖像超分辨率技術在臨床診斷和治療規劃…

HCIP第一二章筆記整理

第一章:復習HCIA第一階段應用層:自然語言轉換為編碼表示層:編碼轉換為二進制介質訪問控制層:二進制轉化為信號物理層:傳輸電信號第二階段:OSI參考模型應用層:提供網絡服務表示層:對數…

《使用Qt Quick從零構建AI螺絲瑕疵檢測系統》——2. C++基礎:構建程序的堅實骨架

目錄一、概述1.1 背景介紹:從UI到邏輯1.2 學習模式:Qt控制臺應用二、C語法快速入門2.1 變量、數據類型與注釋2.2 函數與代碼封裝2.3 循環與容器:批量處理三、面向對象編程:封裝數據與行為四、Qt的核心擴展:信號與槽通信…

Navicat 遠程連接SQLlite數據庫

1、SQLlite數據庫是一個本地.db文件,默認不支持遠程連接; 2、Navicat 可以通過ntunnel_sqlite.php文件連接遠程SQLlite庫; 3、安裝Navicat,安裝完成,在安裝目錄下找到ntunnel_sqlite.php文件; 4、上傳當前文…

OpenCV用于計算光流的一個類cv::optflow::DualTVL1OpticalFlow

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::optflow::DualTVL1OpticalFlow 是 OpenCV 中用于計算光流的一個類,特別地,它實現了基于雙幀 TV-L1(Total V…

PyQt5在Pycharm上的環境搭建 -- Qt Designer + Pyuic + Pyrcc組合,大幅提升GUI開發效率

軟件安裝 目標軟件: Python解釋器Pycharm編輯器 Python官網: 點擊訪問Python官網 Pycharm官網:點擊訪問Pycharm官網 環境搭建 搭建完成后最終的環境詳情: python安裝路徑:D:\ProgramEnviron\Python\Python311Pyth…

30天打牢數模基礎-卷積神經網絡講解

案例代碼實現一、代碼說明本案例使用PyTorch實現一個改進版LeNet-5模型,用于CIFAR-10數據集的圖像分類任務。代碼包含以下核心步驟:數據加載與預處理(含數據增強,劃分訓練/驗證/測試集);定義CNN網絡結構&am…

Dev-C++——winAPI貪吃蛇小游戲

🚀歡迎互三👉:霧狩 💎💎 🚀關注博主,后期持續更新系列文章 🚀如果有錯誤感謝請大家批評指出,及時修改 🚀感謝大家點贊👍收藏?評論? 今天水一篇吧…

【openbmc6】entity-manager

文章目錄 2.1 事件監聽:dbus在linux上使用的底層通信方式多半是unix domain socket ,事件的到來可被抽象為:socket上有數據,可讀 2.2 事件處理:由于主線程肯定有邏輯得跑,因此新開一個線程甚至多個線程專門用來監聽和處理事件,但存在多線程就意味著可能存在競爭,存在競…

Java 實現 UDP 多發多收通信

在網絡通信領域,UDP(用戶數據報協議)以其無連接、高效率的特點,在實時通信場景中占據重要地位。本文將結合一段實現 UDP 多發多收的 Java 代碼,詳細解析其實現邏輯,幫助開發者深入理解 UDP 通信的底層邏輯與…