【前端】【Echarts】ECharts 詞云圖(WordCloud)教學詳解

效果

在這里插入圖片描述

效果

ECharts 詞云圖(WordCloud)教學詳解

詞云圖是一種通過關鍵詞的大小、顏色等視覺差異來展示文本數據中詞頻或權重的圖表。它直觀、形象,是數據分析和內容展示中的利器。

本文將帶你從零開始,學習如何用 ECharts 的 WordCloud 插件繪制詞云圖,涵蓋基礎配置、樣式定制和多樣化示例。


一、準備工作

使用詞云圖需要引入:

  • ECharts 核心庫:負責圖表繪制基礎
  • echarts-wordcloud 插件:提供詞云圖功能

示例:

<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts-wordcloud@2/dist/echarts-wordcloud.min.js"></script>

確保插件加載順序正確,先加載 ECharts,再加載詞云插件。


二、基本配置講解

核心是 series 配置:

series: [{type: 'wordCloud',       // 必填,指定詞云圖類型shape: 'circle',         // 詞云形狀,常用有circle, rectangle等data: [                 // 詞頻數據數組,每項包含name和value{ name: 'ECharts', value: 10000 },{ name: '詞云', value: 8000 },// ...],textStyle: {            // 文字樣式配置fontFamily: 'sans-serif',color: () => `rgb(${[0,0,0].map(() => Math.round(Math.random()*160)).join(',')})`}
}]
  • type 固定為 'wordCloud',告訴 ECharts 使用詞云圖渲染。
  • shape 控制詞云輪廓形狀,常用 circlerectangle,也可以是 stardiamond 等。
  • data 數組中的 value 決定對應詞的字體大小,值越大字體越大。
  • textStyle.color 支持傳入函數,隨機顏色讓詞云更豐富多彩。

三、進階樣式

你可以通過以下配置讓詞云更具美感和表現力:

  • 旋轉角度范圍
rotationRange: [-90, 90]  // 詞語旋轉角度區間,支持負數

讓詞語隨機旋轉,增強動感。

  • 字體和粗細
textStyle: {fontFamily: 'Courier New',fontWeight: 'bold',color: '#ff5722'
}

更換字體,調整文字粗細及顏色。

  • 布局密度
gridSize: 10

控制詞語間隔,值越小詞云越緊密。


四、多樣示例展示

示例 1:基礎圓形詞云,隨機顏色

series: [{type: 'wordCloud',shape: 'circle',data: commonWords,textStyle: {color: () => `rgb(${[0,0,0].map(() => Math.round(Math.random()*160)).join(',')})`}
}]

示例 2:圓形 + 旋轉角度 + 自定義字體

series: [{type: 'wordCloud',shape: 'circle',rotationRange: [-90, 90],textStyle: {fontFamily: 'Courier New',fontWeight: 'bold',color: '#ff5722'},data: commonWords
}]

示例 3:矩形布局 + 單色

series: [{type: 'wordCloud',shape: 'rectangle',gridSize: 10,textStyle: {fontFamily: 'Arial',color: '#2196f3'},data: commonWords
}]

五、實用建議

  • 詞云圖適合展示關鍵詞頻率、熱點分析、內容聚焦。
  • 可以結合后端接口動態加載詞頻數據。
  • 通過點擊事件,支持交互式高亮或跳轉。

六、總結

ECharts 的 WordCloud 插件簡單易用,靈活多樣,通過調整 series 里的一些關鍵參數,就能創造出豐富美觀的詞云圖。掌握上述基礎與進階配置,能滿足大多數詞云可視化需求。


源碼

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>ECharts WordCloud 詞云圖示例</title><style>body {font-family: Arial, sans-serif;background-color: #f9f9f9;padding: 20px;}h2, p {text-align: center;}.section {max-width: 1200px;margin: 0 auto 40px;padding: 20px;background-color: #fff;border-radius: 10px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);}.chart-container {display: flex;flex-wrap: wrap;justify-content: center;gap: 30px;}.chart-box {width: 400px;height: 400px;}.desc {font-size: 14px;color: #555;margin-bottom: 10px;}</style>
</head>
<body><h2>🌈 ECharts WordCloud 詞云圖多樣化示例</h2>
<p>以下展示多個詞云圖實例,涵蓋不同樣式與用途,幫助你靈活掌握詞云圖的配置技巧。</p><div class="section"><div class="desc"><strong>示例 1:基礎詞云</strong> - 使用圓形排布,顏色隨機</div><div class="chart-container"><div class="chart-box" id="wordcloud1"></div></div>
</div><div class="section"><div class="desc"><strong>示例 2:自定義字體和旋轉角度</strong> - 調整文字方向與字體風格</div><div class="chart-container"><div class="chart-box" id="wordcloud2"></div></div>
</div><div class="section"><div class="desc"><strong>示例 3:矩形布局 + 單色風格</strong> - 更加正式的展示效果</div><div class="chart-container"><div class="chart-box" id="wordcloud3"></div></div>
</div><!-- ECharts 核心庫 -->
<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<!-- WordCloud 插件 -->
<script src="https://cdn.jsdelivr.net/npm/echarts-wordcloud@2/dist/echarts-wordcloud.min.js"></script><script>const commonWords = [{ name: 'ECharts', value: 10000 },{ name: '詞云', value: 8000 },{ name: '圖表', value: 6000 },{ name: '可視化', value: 5000 },{ name: 'JavaScript', value: 4000 },{ name: '前端', value: 3000 },{ name: '數據', value: 2000 },{ name: '配置', value: 1800 },{ name: '顏色', value: 1500 },{ name: '插件', value: 1200 },];// 示例 1echarts.init(document.getElementById('wordcloud1')).setOption({series: [{type: 'wordCloud',shape: 'circle',textStyle: {fontFamily: 'sans-serif',color: () => `rgb(${[0,0,0].map(() => Math.round(Math.random()*160)).join(',')})`},data: commonWords}]});// 示例 2echarts.init(document.getElementById('wordcloud2')).setOption({series: [{type: 'wordCloud',shape: 'circle',rotationRange: [-90, 90],textStyle: {fontFamily: 'Courier New',fontWeight: 'bold',color: '#ff5722'},data: commonWords}]});// 示例 3echarts.init(document.getElementById('wordcloud3')).setOption({series: [{type: 'wordCloud',shape: 'rectangle',gridSize: 10,textStyle: {fontFamily: 'Arial',color: '#2196f3'},data: commonWords}]});
</script></body>
</html>

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

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

相關文章

【arXiv 2025】新穎方法:基于快速傅里葉變換的高效自注意力,即插即用!

一、整體介紹 The FFT Strikes Again: An Efficient Alternative to Self-AttentionFFT再次出擊&#xff1a;一種高效的自注意力替代方案圖1&#xff1a;FFTNet整體流程&#xff0c;包括局部窗口處理&#xff08;STFT或小波變換&#xff0c;可選&#xff09;和全局FFT&#xff…

通過vue如何利用 Three 繪制 簡單3D模型(源碼案例)

目錄 Three 介紹 創建基礎3D場景 創建不同類型的3D模型 1. 球體 2. 圓柱體??????? 3. 平面??????? 加載外部3D模型 添加交互控制 創建可交互的3D場景 Three 介紹 Three.js是一個強大的JavaScript 3D庫&#xff0c;可以輕松地在網頁中創建3D圖形。下面我…

云蝠智能 Voice Agent 落地展會邀約場景:重構會展行業的智能交互范式

一、行業痛點與 AI 破局在會展行業數字化轉型的浪潮中&#xff0c;傳統展會邀約模式面臨多重挑戰&#xff1a;人工外呼日均僅能處理 300-500 通電話&#xff0c;且無效號碼占比高達 40% 以上&#xff0c;導致邀約效率低下。同時&#xff0c;個性化邀約話術設計依賴經驗&#xf…

idea如何打開extract surround

在 IntelliJ IDEA 中&#xff0c;"Extract Surrounding"&#xff08;提取周圍代碼&#xff09;通常指 ?將一段代碼提取到新的方法、變量或類中&#xff0c;但更常見的操作是 ??"Surround With"&#xff08;用代碼結構包圍&#xff09;?。以下是兩種場景…

window顯示驅動開發—XR_BIAS 和 BltDXGI

Direct3D 運行時調用驅動程序的 BltDXGI 函數&#xff0c;以僅對XR_BIAS源資源執行以下操作&#xff1a;復制到也XR_BIAS的目標未修改的源數據的副本可接受點樣本的拉伸旋轉由于 XR_BIAS 不支持 MSAA) (多個示例抗鋸齒&#xff0c;因此驅動程序不需要解析XR_BIAS資源。核心規則…

web網頁開發,在線%ctf管理%系統,基于html,css,webform,asp.net mvc, sqlserver, mysql

webform,asp.net mvc。數據庫支持mysql,sqlserver經驗心得 每次我們寫crud沒啥技術含量&#xff0c;這沒法讓咱們進入大廠&#xff0c;剛好這次與客戶溝通優化方案建議&#xff0c;咱們就把能加的幫他都加上去。一個ctf管理系統基本crud&#xff0c;并進行不同分層開發&#xf…

面試技術問題總結一

MySQL的幾種鎖機制一、從鎖的粒度角度劃分表級鎖機制&#xff1a;它是對整張表進行鎖定的一種鎖。當一個事務對表執行寫操作時&#xff0c;會獲取寫鎖&#xff0c;在寫鎖持有期間&#xff0c;其他事務無法對該表進行讀寫操作&#xff1b;而當事務執行讀操作時&#xff0c;會獲取…

π0.5的KI改進版——知識隔離:讓VLM在不受動作專家負反饋的同時,繼續輸出離散動作token,并根據反饋做微調(而非凍結VLM)

前言 過去的一個月(25年6.4-7.4)&#xff0c;我司「七月在線」具身長沙分部為沖刺一些為客戶來現場看的演示項目&#xff0c;基本都用lerobot的那套框架 比如上周五(7.4日)晚上&#xff0c;通過上周五下午新采的第五波數據做『耳機線插入耳機孔』的任務&#xff0c;推理十次之…

Eigen中Isometry3d的使用詳解和實戰示例

Eigen::Isometry3d 是 Eigen 庫中用于表示 三維空間中的剛性變換&#xff08;Rigid Transformation&#xff09; 的類&#xff0c;屬于 Eigen::Transform 模板類的一個特化版本。它結合了 旋轉和平移&#xff0c;廣泛應用于機器人學、SLAM、三維幾何計算等場景。一、核心定義 #…

《未來已來:當人類智慧遇上AI智能體》

在這個充滿奇跡的時代,人類的智慧與科技的力量正以前所未有的速度交織在一起。 我們站在一個新時代的門檻上,一邊是古老而深邃的自然規律,另一邊是充滿可能性的未來世界。 今天,就讓我們一起走進這場關于人類智慧與AI智能體Kimi的對話,看看未來究竟會帶給我們怎樣的驚喜…

【三維生成】FlashDreamer:基于擴散模型的單目圖像到3D場景

標題&#xff1a;<Enhancing Monocular 3D Scene Completion with Diffusion Model> 代碼&#xff1a;https://github.com/CharlieSong1999/FlashDreamer 來源&#xff1a;澳大利亞國立大學 文章目錄摘要一、前言二、相關工作2.1 場景重建2.2 擴散模型2.3 Vision languag…

CANFD記錄儀設備在無人駕駛快遞車的應用

隨著物流行業的快速發展&#xff0c;無人駕駛快遞車因其高效、低成本的優勢&#xff0c;逐漸成為“最后一公里”配送的重要解決方案。然而&#xff0c;無人駕駛系統的穩定性和安全性高度依賴車輛總線數據的精準采集與分析。南金研CANFDlog4 4路記錄儀憑借其多通道、高帶寬、高可…

Kubernetes存儲入門

目錄 前言 一、Volume 的概念 二、Volume 的類型 常見的卷類型 Kubernetes 獨有的卷類型 三、通過 emptyDir 共享數據 1. 編寫 emptyDir 的 Deployment 文件 2. 部署該 Deployment 3. 查看部署結果 4. 登錄 Pod 中的第一個容器 5. 登錄 Pod 中的第二個容器查看/mnt下…

10.Docker安裝mysql

(1)docker pull mysql:版本號eg&#xff1a;docker pull mysql(默認安裝最新版本)docker pull mysql:5.7(2)啟動并設置mysql鏡像docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 --name mysql1 mysql其他參數都不多講&#xff0c;下面這個參數指的是設置數據庫用戶ro…

Debian-10編譯安裝Mysql-5.7.44 筆記250706

Debian-10編譯安裝Mysql-5.7.44 筆記250706 單一腳本安裝 ### 1. 安裝編譯依賴 sudo apt install -y cmake gcc g build-essential libncurses5-dev libssl-dev \ pkg-config libreadline-dev zlib1g-dev bison curl wget libaio-dev \ libjson-perl libnuma-dev libsystemd-d…

HarmonyOS 中狀態管理 V2和 V1 的區別

鴻蒙ArkUI框架中的ComponentV2與V1在狀態管理、組件開發模式、性能優化等方面存在顯著差異。以下是兩者的核心區別及技術解析&#xff1a;一、狀態管理機制V1的局限性V1的Observed裝飾器只能觀察對象的第一層屬性變化&#xff0c;需配合ObjectLink手動拆解嵌套對象。例如&#…

centos7 安裝jenkins

文章目錄前言一、pandas是什么&#xff1f;二、安裝依賴環境1.前提準備2.安裝git3.安裝jdk&#xff0c;以及jdk版本選擇4.安裝maven5.安裝NodeJS6.驗證三、安裝Jenkins四、驗證Jenkins總結前言 正在學習jenkinsdocker部署前后端分離項目&#xff0c;安裝jenkins的時候遇到了一…

Leetcode刷題營第二十題:刪除鏈表中的重復節點

面試題 02.01. 移除重復節點 編寫代碼&#xff0c;移除未排序鏈表中的重復節點。保留最開始出現的節點。 示例1&#xff1a; 輸入&#xff1a;[1, 2, 3, 3, 2, 1]輸出&#xff1a;[1, 2, 3]示例2&#xff1a; 輸入&#xff1a;[1, 1, 1, 1, 2]輸出&#xff1a;[1, 2]提示&…

關于市場主流自動化測試工具和框架的簡要介紹

下面我會分別講解 Selenium、Appium、Playwright 等主流自動化框架的區別、聯系、適用場景和歸屬范疇&#xff0c;幫助你更系統地理解它們。&#x1f527; 一、它們都屬于哪一類工具&#xff1f;Selenium、Appium、Playwright、Cypress 等都屬于&#xff1a;?? 自動化測試框架…

基于cornerstone3D的dicom影像瀏覽器 第三十二章 文件夾做pacs服務端,fake-pacs-server

文章目錄 前言一、實現思路二、項目與代碼三、dicom瀏覽器調用1. view2d.vue前言 本系列最后一章,提供一個模擬pacs服務,供訪問dicom圖像測試。 修改nodejs本地目錄做為http服務根目錄,提供一個根目錄,其中的每個子目錄代表一個檢查。在dicom瀏覽器url中帶入參數studyId=目…