ECharts dataset
时间: 2025-04-29 18:56:23 浏览: 23
### Vue3 ECharts 数据集 (Dataset) 使用教程
ECharts 是一个强大的 JavaScript 图表库,提供了丰富的功能来实现复杂的数据可视化需求。自版本 4 开始引入了 `dataset` 组件,用于集中管理和简化多个系列中的数据配置。
以下是关于如何在 Vue3 和原生环境中使用 ECharts 的 `dataset` 功能的详细介绍:
---
#### Dataset 基本概念
`dataset` 是一种专门用来管理数据的组件,可以减少重复定义数据的工作量。通过将数据统一存储到 `dataset` 中,可以在不同的图表系列之间共享这些数据[^2]。
---
#### 完整示例:Vue3 + ECharts 使用 Dataset
下面是一个完整的 Vue3 示例,展示如何利用 `dataset` 来创建柱状图并动态更新数据。
##### HTML 结构
```html
<div id="app">
<div ref="chart" style="width: 600px; height: 400px;"></div>
</div>
```
##### JavaScript 实现
```javascript
<template>
<div>
<div ref="chart" style="width: 600px; height: 400px;"></div>
</div>
</template>
<script>
import * as echarts from 'echarts';
export default {
mounted() {
const chartDom = this.$refs.chart;
const myChart = echarts.init(chartDom);
const option = {
title: {
text: 'ECharts Dataset 示例',
subtext: '基于 dataset 的多系列共享数据'
},
tooltip: {},
legend: { data: ['销量'] },
xAxis: { type: 'category' },
yAxis: { type: 'value' },
series: [
{ name: '销量', type: 'bar' }
],
dataset: {
source: [
['产品', '销量'],
['衬衫', 5],
['羊毛衫', 20],
['雪纺衫', 36],
['裤子', 10],
['高跟鞋', 10],
['袜子', 20]
]
}
};
myChart.setOption(option);
}
};
</script>
```
在这个例子中,我们通过 `dataset.source` 属性指定了一个二维数组作为数据源。该数据会被自动映射到 `series` 中的字段名称上[^1]。
---
#### 关键点解析
1. **Dataset 数据结构**
- `source`: 可以是二维数组或对象数组形式。
```javascript
dataset: {
source: [
['产品', '销量'], // 列名
['衬衫', 5], // 数据行
['羊毛衫', 20]
]
}
```
2. **动态更新 Data**
如果需要实时更改图表数据,可以通过修改 `setOption` 方法重新渲染图表:
```javascript
const newData = [['产品', '销量'], ['T恤', 15], ['帽子', 8]];
myChart.setOption({
dataset: {
source: newData
}
});
```
3. **多 Series 共享同一数据集**
当存在多个系列时,可以直接指定它们共用同一个 `dataset`,从而避免冗余配置:
```javascript
series: [
{ type: 'line', encode: { x: '日期', y: '销售额'}},
{ type: 'bar', encode: { x: '日期', y: '利润'}}
],
dataset: {
source: [
['日期', '销售额', '利润'],
['2023-01-01', 100, 20],
['2023-01-02', 150, 30]
]
}
```
---
#### 注意事项
- 确保安装最新版 ECharts 库(>= v4),因为早期版本可能不支持 `dataset` 特性。
- 对于复杂的场景,建议结合 `encode` 字段进一步控制数据映射关系。
---
阅读全文
相关推荐


















