比如series有3个对象,里面每个都有data,后台请求数据后,只能通过setOptions的方法设置数据吗?另外顺序呢?只能根据之前写好的顺序填充吗?
比如series有3个对象,里面每个都有data,后台请求数据后,只能通过setOptions的方法设置数据吗?另外顺序呢?只能根据之前写好的顺序填充吗?
设置的时候你可以做一下排序
let chart = echarts.init(document.getElementById('main'));
let option = {
series: [
{name: '系列1', type: 'line', data: []},
{name: '系列2', type: 'line', data: []},
{name: '系列3', type: 'line', data: []}
]
};
// 设置初始选项
chart.setOption(option);
let backendData = [
{name: '系列1', data: [120, 132, 101, 134, 90, 230, 210]},
{name: '系列2', data: [220, 182, 191, 234, 290, 330, 310]},
{name: '系列3', data: [150, 232, 201, 154, 190, 330, 410]}
];
backendData.forEach((item) => {
let seriesItem = option.series.find(s => s.name === item.name);
if (seriesItem) {
seriesItem.data = item.data;
}
});
chart.setOption(option);
9 回答9.4k 阅读
6 回答5.1k 阅读✓ 已解决
3 回答10.5k 阅读✓ 已解决
4 回答7.4k 阅读
5 回答8.3k 阅读
2 回答10.4k 阅读✓ 已解决
2 回答6.5k 阅读✓ 已解决
在重新setOption一下,就能设置新数据。
另外顺序根据series自行调整就可以吧,就是设置data字段时分开赋值。