效果

在这里插入图片描述

效果

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=目…