VISALL 词云图 (Word Cloud) 使用文档
简介
词云图是VISALL数据可视化库中的一种特殊图表类型,主要用于展示文本数据的权重或频率。词云图通过不同大小、颜色和位置的文字直观地呈现关键词的重要性,是文本数据可视化的常用表现形式。
基本用法
import { render } from 'path/to/bundle.esm.min.js';
// 创建词云图
const chart = render(container, {
layers: [
{
type: 'wordCloud',
dataIndex: 0,
encoding: {
x: 'word', // 文本字段名
y: 'value' // 权重字段名
}
}
],
data: [
{
values: [
{ word: '数据', value: 100 },
{ word: '可视化', value: 85 },
{ word: '分析', value: 70 },
// ...更多数据
]
}
]
});
配置参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| encoding.x | string | - | 文本字段映射,必须提供一个字符串类型字段 |
| encoding.y | string | - | 权重字段映射,必须是数值类型,决定文字大小 |
| dataIndex | number | 0 | 指定使用的数据集索引 |
| ranking | boolean | false | 是否显示前三名排名标记 |
| dvTextColors | string[] | ['#090E18', '#313A4F', '#4D576F', '#848D9F', '#9EA8B5', '#A9B2BE', '#A9B2BE'] | 文本颜色配置数组,从重要到不重要排序 |
| dvFontSizeRange | [number, number] | [12, 32] | 字体大小范围,[最小值, 最大值] |
| dvFontWeightRange | [number, number] | [400, 600] | 字体粗细范围,[最小值, 最大值] |
| customClickEvent | function | - | 自定义点击事件处理函数 |
| customHoverEvent | function | - | 自定义悬停事件处理函数 |
数据要求
- x字段(文本字段)要求为字符串类型
- y字段(权重字段)要求为数值类型
- 数据量至少需要大于1条
- 提供准确的字段名映射
高级用法
1. 自定义颜色
根据文本重要性自定义不同层级的颜色:
{
type: 'wordCloud',
encoding: {
x: 'keyword',
y: 'frequency'
},
dvTextColors: ['#FF0000', '#FF7F00', '#FFFF00', '#00FF00', '#0000FF', '#4B0082', '#9400D3']
}