logo

Ant Design Charts

  • 教程
  • 图表组件
  • 图表示例
  • 选项
  • 所有产品antv logo arrow
  • 2.4.0
  • 📈 图表分类
  • 统计图表
    • 图表概览
    • Line 折线图
    • Column 柱状图
    • Bar 条形图
    • Area 面积图
    • Pie 饼图
    • DualAxes 双轴图
    • Scatter 散点图
    • WordCloud 词云图
    • Funnel 漏斗图
    • Heatmap 热力图
    • Histogram 直方图
    • Liquid 水波图
    • BidirectionalBar 对称条形图
    • Box 箱线图
    • Bullet 子弹图
    • CirclePacking 捆绑图
    • Gauge 仪表盘
    • Radar 雷达图
    • Rose 玫瑰图
    • Sankey 桑基图
    • Stock 股票图
    • Sunburst 旭日图
    • Treemap 矩阵树图
    • Venn 韦恩图
    • Tiny 迷你图
    • Violin 小提琴图
    • Waterfall 瀑布图
    • RadialBar 玉珏图
  • 关系图组件
    • 总览
    • MindMap 思维导图
    • Fishbone 鱼骨图
    • IndentedTree 缩进树图
    • Dendrogram 生态树图
    • OrganizationChart 组织结构图
    • FlowGraph 流程图
    • FlowDirectionGraph 流向图
    • NetworkGraph 网络图
    • FAQ

WordCloud 词云图

上一篇
Scatter 散点图
下一篇
Funnel 漏斗图

Resources

Ant Design
Galacea Effects
Umi-React 应用开发框架
Dumi-组件/文档研发工具
ahooks-React Hooks 库

社区

体验科技专栏
seeconfSEE Conf-蚂蚁体验科技大会

帮助

GitHub
StackOverflow

more products更多产品

Ant DesignAnt Design-企业级 UI 设计语言
yuque语雀-知识创作与分享工具
EggEgg-企业级 Node 开发框架
kitchenKitchen-Sketch 工具集
GalaceanGalacean-互动图形解决方案
xtech蚂蚁体验科技
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

简介

词云图(WordCloud)是一种专门用于生成词云图的工具。词云图是一种直观展示文本数据中关键词频次的可视化形式,通过不同大小、颜色和位置的文字来反映词语的重要性或权重。

代码演示

更多示例详见词云图

基础用法

根据背景图进行布局

可以使用图表路径或图片 base64 数据。

配置项

概览

配置项说明类型默认值
data数据Array[]
colorField颜色映射通道,详见colorstring(可选)-
textField设置单词的文本访问器函数,用来根据单词数据返回单词文本string | (word: any) => string-
layout配置 wordCloud 布局,包括 padding、rotate 等Layout-
title用于指定图表的标题内容,详见标题object(可选)-
legend图表的辅助元素,使用颜色、大小、形状区分不同的数据类型,用于图表中数据的筛选,详见图例object(可选)-
label数据标签是给图表添加标注的手段之一,详见标签object(可选)-
tooltip用于动态展示数据点的详细信息,详见提示object(可选)-
style视觉样式,配置项详见绘图属性object(可选)-
theme用于控制图表的整体外观,包括颜色、字体、边距等视觉属性,详见主题string | object(可选)light
onReady图表加载回调,用于后续的事件事件绑定Function(可选)-
scale将抽象数据映射为视觉数据,详见比例尺object(可选)-
animate动画作为可视化的重要组成部分,能显著提高数据可视化的表现力,详见动画object(可选)-
interaction提供了按需探索数据的能力,详见交互object(可选)-
state实现交互反馈、高亮、选中等效果,详见状态,不同交互下图表样式object(可选)-
annotations视图好比一个画板,WordCloud 组件默认在其上绘制了一个词云图,我们可以通过 annotations 在上面叠加更多的图层,详见标注Array(可选)-

layout

属性描述类型默认值
font设置字体样式,可以是字符串或函数,函数根据单词返回字体,修改 d3 词云配置string | (word: any) => string'Impact'
fontSize设置字体大小,可以是具体值、范围 [min, max] 或函数,修改 d3 词云配置number | [number, number] | (word: any) => number-
imageMask设置图像作为单词布局的遮罩,可以是 HTML 图像元素或图像路径字符串'HTMLImageElement | string-
on配置事件监听器函数,可以监听布局完成 (end) 或单词更新 (word)((type: 'end', details?: { cloud; words; bounds }) => void) | ((type: 'word', details?: { cloud; word }) => void)-
padding设置单词之间的间距,单位为像素,可以是具体值或动态函数number | (word: any) => number2
rotate设置单词的旋转角度,可以是具体值或动态函数number | word => number() => (~~(Math.random() * 6) - 3) * 30
random设置随机数生成器,可以是具体数值或函数number | (word => number)-
size设置布局的矩形宽度和高度,格式为 [width, height][number, number][20, 60]
spiral设置单词的排布模式,可以选择 "archimedean" 或 "rectangular" 内置螺旋类型,也可以通过函数实现自定义'archimedean' | 'rectangular'-
timeInterval设置布局算法的时间间隔,控制运行时间number-

padding

配置 wordCloud 容器的边,可以通过padding{Position}配置不同方向的边距

type Position = 'Top' | 'Bottom' | 'left' | 'right';

与 layout 中的 padding 配置项对比

属性描述类型示例
option.padding配置 wordCloud 容器的边距number
option.layout.padding设置单词之间的间距,单位为像素,可以是具体值或动态函数number | (word: any) => number

spiral

spiral 是一个控制词云布局算法的参数,它决定了词语在画布上的排列方式和路径模式。通过调整 spiral,可以优化词云的视觉效果、布局密度和性能。

参数值说明适用场景
archimedean阿基米德螺旋线(默认值),词语从中心向外按螺旋路径排列,布局较紧凑。通用场景,追求自然紧凑的布局
rectangular矩形螺旋,词语按矩形路径排列,计算速度更快,但布局相对松散。数据量大时优化性能

imageMask

imageMask 是一个用于控制词云形状的关键配置项,它的作用是通过指定一张图片的遮罩(Mask),将词云的布局限制在该图片的轮廓范围内,从而生成与图片形状匹配的词云效果。

imageMask 接收一个遮罩图片,WordCloud 布局算法会解析 imageMask 图片的像素信息,将图片的非透明区域视为允许放置词语的区域,而透明区域则禁止放置词语。词语会根据权重(如词频)在非透明区域内动态调整大小和位置。

注意事项:

  • 图片质量:遮罩图片通常应是单色(黑白)图像。一般来说,词云会基于非白色区域定义形状。
  • 图像加载:在使用图片遮罩时,确保图像资源已经完全加载,否则可能会出现渲染问题。
  • 性能影响:复杂形状(例如高分辨率图片)可能会影响词云的构造速度。

事件

详见选项-事件。

方法

详见图表概览-图表方法。