要按照堆积图中每个堆积区域的大小进行排序,可以使用 echarts 中的 dataset 组件和 transform 方法。
首先,在数据中加入一列用于排序的值,可以是每个堆积区域的总和,也可以是其中某一个系列的值。然后,在 dataset 中设置 transform 方法,使用 sort 方法按照排序的值进行排序。最后,在堆积图的 series 中设置 datasetIndex 为对应的 dataset。
以下是一个示例代码:
```javascript
option = {
dataset: {
source: [
['product','2015','2016','2017','2018'],
['A',120,160,180,200],
['B',90,110,130,150],
['C',60,80,100,120],
['D',30,50,70,90]
],
transform: {
type: 'sort',
config: {
sortBy: '2018', //按照2018年的值进行排序
sortDesc: true //降序排列
}
}
},
series: [{
type: 'bar',
stack: 'stack',
datasetIndex: 0, //使用第一个 dataset
encode: {
x: 'product',
y: '2015'
}
},{
type: 'bar',
stack: 'stack',
datasetIndex: 0,
encode: {
x: 'product',
y: '2016'
}
},{
type: 'bar',
stack: 'stack',
datasetIndex: 0,
encode: {
x: 'product',
y: '2017'
}
},{
type: 'bar',
stack: 'stack',
datasetIndex: 0,
encode: {
x: 'product',
y: '2018'
}
}]
};
```
在以上示例中,使用了 transform 的 sort 方法按照第四列(2018)的值进行排序,并将排序后的数据集设置为堆积图的 dataset,最后每个系列的 datasetIndex 都设置为 0,即使用第一个 dataset。