0.daatset的示例及说明
- ECharts 使用 dataset 管理数据。可以被多个系列使用
- 示例如下
option = {
legend: {},
tooltip: {},
dataset: {
// 这里指定了维度名的顺序,从而可以利用默认的维度到坐标轴的映射。
// 如果不指定 dimensions,也可以通过指定 series.encode 完成映射,参见后文。
dimensions: ['product', '2015', '2016', '2017'],
// 提供一份数据。
source: []
},
// 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
xAxis: {type: 'category'},
// 声明一个 Y 轴,数值轴。
yAxis: {},
// 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
series: [
{type: 'bar'},
{type: 'bar'},
{type: 'bar'}
]
}
1.dataset的格式
- dataset可以是二维数组,也可以是对象数组
- 注意二维数组的第一个元素,为标题。可以理解为一个二维表格的表头
- 我们可以使用
series.seriesLayoutBy
属性来配置 dataset
是列(column)
还是行(row)
映射为图形系列(series),默认是按照列(column)来映射。
-
{type: 'bar', seriesLayoutBy: 'row'},
。这个属性目前对对象数组不起作用。需要人工把对象数组转换为二维数组
- dataset.dimensions为维度。可以不带。如果不带这个,则表示全部维度都显示。
- 注意:第一个列或者对象的第一个属性为类目轴
[
{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}
]
或者
[
['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]
]
2.对象数组转换为二维数组(带表格标题)
let newData = [];
let title = Object.getOwnPropertyNames(data[0]);
newData.push(title);
data.forEach((ele)=>{
newData.push(Object.values(ele));
})
网友评论