Echarts的dataset设置dimensions别名

该段代码定义了一个ECharts配置,用于展示不同时间段内课时观看的时长分布,包括0-30秒、30秒-1分钟、1-3分钟、3-5分钟和5分钟以上的观看情况。数据以线图形式展示,X轴表示日期,Y轴表示时长或成本,提供了详细的图例和提示信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var option = {
        title: {
          text: '课时观看时长分布',
          subtext: '数据仅供参考',
          left: 'center',
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'shadow',
          },
          // formatter: '{b}<br/>{a0}: {c0}人 ({d0}%)<br/>{a1}: {c1}秒 ({d1}%)',
        },
        legend: {
          data: ['0-30秒', '30秒-1分钟', '1-3分钟', '3-5分钟', '5分钟以上'],
          top: 'bottom',
        },
        dataset: {
          dimensions: [
            { name: 'ds', displayName: '日期' },
            { name: 'pv', displayName: '销售额' },
            { name: 'uv', displayName: '成本' },
          ],
          source: {
            ds: [1, 2, 3, 4, 5, 6, 7],
            pv: [30, 40, 35, 50, 45, 30, 25],
            uv: [40, 20, 30, 5, 20, 35, 40],
          },
        },
        xAxis: {
          type: 'category',
          axisLabel: {
            interval: 0,
            rotate: 30,
          },
        },
        yAxis: {
          type: 'value',
        },
        series: [
          {
            type: 'line',
          },
          {
            type: 'line',
          },
        ],
      };
      myChart.setOption(option);

### 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` 字段进一步控制数据映射关系。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yusirxiaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值