Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ECharts 数据集(dataset)

ECharts 数据集(dataset)

作者头像
陈不成i
修改于 2021-08-03 10:07:18
修改于 2021-08-03 10:07:18
1.2K00
代码可运行
举报
文章被收录于专栏:ops技术分享ops技术分享
运行总次数:0
代码可运行

ECharts 使用 dataset 管理数据。

dataset 组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。

下面是一个最简单的 dataset 的例子:

实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
option = {
    legend: {},
    tooltip: {},
    dataset: {
        // 提供一份数据。
        source: [
            ['product', '2015', '2016', '2017'],
            ['Matcha Latte', 43.3, 85.8, 93.7],
            ['Milk Tea', 83.1, 73.4, 55.1],
            ['Cheese Cocoa', 86.4, 65.2, 82.5],
            ['Walnut Brownie', 72.4, 53.9, 39.1]
        ]
    },
    // 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
    xAxis: {type: 'category'},
    // 声明一个 Y 轴,数值轴。
    yAxis: {},
    // 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
    series: [
        {type: 'bar'},
        {type: 'bar'},
        {type: 'bar'}
    ]
}

或者也可以使用常见的对象数组的格式:

实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
option = {
    legend: {},
    tooltip: {},
    dataset: {
        // 这里指定了维度名的顺序,从而可以利用默认的维度到坐标轴的映射。
        // 如果不指定 dimensions,也可以通过指定 series.encode 完成映射,参见后文。
        dimensions: ['product', '2015', '2016', '2017'],
        source: [
            {product: 'Matcha Latte', '2015': 43.3, '2016': 85.8, '2017': 93.7},
            {product: 'Milk Tea', '2015': 83.1, '2016': 73.4, '2017': 55.1},
            {product: 'Cheese Cocoa', '2015': 86.4, '2016': 65.2, '2017': 82.5},
            {product: 'Walnut Brownie', '2015': 72.4, '2016': 53.9, '2017': 39.1}
        ]
    },
    xAxis: {type: 'category'},
    yAxis: {},
    series: [
        {type: 'bar'},
        {type: 'bar'},
        {type: 'bar'}
    ]
};

数据到图形的映射

我们可以在配置项中将数据映射到图形中。

我们可以使用 series.seriesLayoutBy 属性来配置 dataset 是列(column)还是行(row)映射为图形系列(series),默认是按照列(column)来映射。

以下实例我们将通过 seriesLayoutBy 属性来配置数据是使用列显示还是按行显示。

实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
option = {
    legend: {},
    tooltip: {},
    dataset: {
        source: [
            ['product', '2012', '2013', '2014', '2015'],
            ['Matcha Latte', 41.1, 30.4, 65.1, 53.3],
            ['Milk Tea', 86.5, 92.1, 85.7, 83.1],
            ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4]
        ]
    },
    xAxis: [
        {type: 'category', gridIndex: 0},
        {type: 'category', gridIndex: 1}
    ],
    yAxis: [
        {gridIndex: 0},
        {gridIndex: 1}
    ],
    grid: [
        {bottom: '55%'},
        {top: '55%'}
    ],
    series: [
        // 这几个系列会在第一个直角坐标系中,每个系列对应到 dataset 的每一行。
        {type: 'bar', seriesLayoutBy: 'row'},
        {type: 'bar', seriesLayoutBy: 'row'},
        {type: 'bar', seriesLayoutBy: 'row'},
        // 这几个系列会在第二个直角坐标系中,每个系列对应到 dataset 的每一列。
        {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
        {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
        {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
        {type: 'bar', xAxisIndex: 1, yAxisIndex: 1}
    ]
}

encode 声明的基本结构如下,其中冒号左边是坐标系、标签等特定名称,如 'x', 'y', 'tooltip' 等,冒号右边是数据中的维度名(string 格式)或者维度的序号(number 格式,从 0 开始计数),可以指定一个或多个维度(使用数组)。通常情况下,下面各种信息不需要所有的都写,按需写即可。

下面是 encode 支持的属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 在任何坐标系和系列中,都支持:
encode: {
    // 使用 “名为 product 的维度” 和 “名为 score 的维度” 的值在 tooltip 中显示
    tooltip: ['product', 'score']
    // 使用 “维度 1” 和 “维度 3” 的维度名连起来作为系列名。(有时候名字比较长,这可以避免在 series.name 重复输入这些名字)
    seriesName: [1, 3],
    // 表示使用 “维度2” 中的值作为 id。这在使用 setOption 动态更新数据时有用处,可以使新老数据用 id 对应起来,从而能够产生合适的数据更新动画。
    itemId: 2,
    // 指定数据项的名称使用 “维度3” 在饼图等图表中有用,可以使这个名字显示在图例(legend)中。
    itemName: 3
}

// 直角坐标系(grid/cartesian)特有的属性:
encode: {
    // 把 “维度1”、“维度5”、“名为 score 的维度” 映射到 X 轴:
    x: [1, 5, 'score'],
    // 把“维度0”映射到 Y 轴。
    y: 0
}

// 单轴(singleAxis)特有的属性:
encode: {
    single: 3
}

// 极坐标系(polar)特有的属性:
encode: {
    radius: 3,
    angle: 2
}

// 地理坐标系(geo)特有的属性:
encode: {
    lng: 3,
    lat: 2
}

// 对于一些没有坐标系的图表,例如饼图、漏斗图等,可以是:
encode: {
    value: 3
}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
echarts 从0到1
除了通过独立配置每一图表数据, echart 提供 dataset 集中管理实例内的数据集合。
copy_left
2021/12/08
1.3K0
ECharts数据集( dataset )的行或列映射为系列(series)
用户可以使用 seriesLayoutBy 配置项,改变图表对于行列的理解。seriesLayoutBy 可取值:
别团等shy哥发育
2023/02/25
1.2K0
ECharts数据集( dataset )的行或列映射为系列(series)
ECharts使用dataset管理数据
ECharts使用dataset管理数据 Apache ECharts (incubating)TM 4 开始支持了 dataset 组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。这在不少场景下能带来使用上的方便。 数据集(dataset)组件来单独声明数据,它带来了这些效果: 能够贴近这样的数据可视化常见思维方式:(I) 提供数据,(II) 指定数据到视觉的映射,从而形成图表。 数据和其他配置可以被分离开来。数据常变,其他配置常不变。分开易于
别团等shy哥发育
2023/02/25
7250
ECharts使用dataset管理数据
ECharts多图共享一个dataset(带有联动交互)
ECharts多图共享一个dataset <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>多图表共享一个dataset,并带有联动交互</title> <!--引入Echarts文件--> <script src="js/echarts.min.js"></script> </head> <body> <div id="main" style="width: 800px;height:
别团等shy哥发育
2023/02/25
8320
ECharts多图共享一个dataset(带有联动交互)
Echarts中数据集的使用
https://echarts.apache.org/handbook/zh/concepts/dataset
码客说
2023/10/19
4020
Echarts数据到图形的映射(series.encode)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数据到图形的映射(使用encode)</title> <!--引入Echarts文件--> <script src="js/echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script ty
别团等shy哥发育
2023/02/25
1.3K0
Echarts数据到图形的映射(series.encode)
自定义图例事件
主要思路 增加无数据的 series[i] ,产生额外的图例图标 监听「legendselectchanged」事件,更新图表数据源,实现所需图形的显示 / 隐藏 具体实现 准备原始数据、准备过滤原始数据的函数 arrFilter(): datasetSource = [ ['product', '2015', '2016', '2017', '2018'], ['Matcha Latte', 43.3, 85.8, 93.7, 54.2], ['Milk Tea', 83
ZXand618
2022/04/10
4670
自定义图例事件
ECharts入门(一)基础概念概览
一个网页中可以创建多个 echarts 实例。每个 echarts 实例 中可以创建多个图表和坐标系等等(用 option 来描述)。准备一个 DOM 节点(作为 echarts 的渲染容器),就可以在上面创建一个 echarts 实例。每个 echarts 实例独占一个 DOM 节点。
Adil_zhang
2023/05/02
1.3K0
ECharts入门(一)基础概念概览
DeepSeek指导改程序
在ECharts中,如果你想在柱状图的每个柱子上展示对应的数字,可以通过配置label选项来实现。以下是详细的步骤:
bisal
2025/04/14
700
DeepSeek指导改程序
ECharts常用配置项
ECharts是我们常用的图表控件,功能特别强大,每次使用都要查API比较繁琐,这里就记录开发中常用的配置。
码客说
2021/12/31
3.9K0
ECharts常用配置项
echarts数据可视化
Charts,商业级数据图表,是百度的一个开源的数据可视化工具。目前,非常美观,非常好用,非常受欢迎的数据可视化工具。
ruochen
2021/12/04
1.6K0
【数据可视化】Echarts官方文档及常用组件
前面介绍了柱状图、折线图、饼图3种最为常见图表的绘制和使用:【数据可视化】Echarts最常用图表,但是没有介绍在遇到问题时如何寻求帮助,也没有详细介绍图表中组件的使用。这次来介绍ECharts中官方文档、常用组件的使用方法,可以更加快捷地创建清晰明了、实用的图表。 以下代码均在VScode中使用。
zxctscl
2024/03/21
2.5K0
【数据可视化】Echarts官方文档及常用组件
一起读 ECharts 配置项手册之 series[i]-line(上)
所以最近打算把 ECharts 所有系列挨个聊一遍,写一个 series 系列的简单介绍,解决一大段时间的难选题问题,顺便方便比我还新的新手入门。
ZXand618
2022/04/10
2.2K0
一起读 ECharts 配置项手册之 series[i]-line(上)
【数据可视化】Echarts的高级功能
为了使图表更具表现力,可以使用混搭图表对数据进行展现。 当多个系列的数据存在极强的不可分离的关联意义时,为了避免在同一个直角系内同时展现时产生混乱,需要使用联动的多图表对其进行展现。
zxctscl
2024/03/29
6360
【数据可视化】Echarts的高级功能
Echarts数据可视化全解注释
github地址:https://github.com/626626cdllp/echarts
全栈程序员站长
2022/09/09
11.3K0
组件中 watch props 根据 v-if 动态判断并挂载 DOM 的问题
问题复现:父组件中通过名为 source 的 prop 向子组件 Chart 传入数据
JS菌
2019/05/16
1.6K0
图解大数据 | 综合案例-使用Spark分析挖掘音乐专辑数据
教程地址:http://www.showmeai.tech/tutorials/84
ShowMeAI
2022/03/08
1.3K0
图解大数据 | 综合案例-使用Spark分析挖掘音乐专辑数据
Echarts中dataZoom添加滚动条
1、dataZoom配置 dataZoom: [{ //默认控制x轴 type:'slider',//图标下方的伸缩条 show:true,//是否显示 xAxisIndex:[0], //控制x轴,数组可以同时控制多个轴 realtime:tr
别团等shy哥发育
2023/02/25
2.1K0
Echarts中dataZoom添加滚动条
多层级轴标签(第二版)
上次说到多层级 X 轴标签的拼凑实现(第一版),遗留了一个分组标签位置的问题,今天给大家补上。
ZXand618
2022/04/10
7450
多层级轴标签(第二版)
散点图的特点
散点图可以帮助我们推断出不同维度数据之间的相关性, 比如上述例子中,看得出身高和体重是正相关, 身高越高, 体重越重
Qwe7
2022/06/15
1.6K0
相关推荐
echarts 从0到1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验