我希望能够单击图例标签,然后将所有其他标签关闭并突出显示选定的一个系列数据。当前行为隐藏选定的图例系列。我怎么能扭转它?
2 回答
1
根据@Sergey Fedorov 的回答,这可以使用legendSelect
事件来实现。下面是一些代码来演示它是如何工作的:
function legendSelection(chart, params) {
const obj = params.selected;
const selectAll = Object.values(obj).filter(f=>f).length;
chart.setOption({ animation: true });
if (selectAll == 0) {
// select all on second click
for (var key in obj) {
chart.dispatchAction({
type: 'legendSelect',
name: key
});
}
} else {
// Re-select what the user unselected
chart.dispatchAction({
type: 'legendSelect',
name: params.name
});
// Deselect everything else
for (var key in obj) {
if (obj.hasOwnProperty(key) && key != params.name) {
var val = obj[key];
chart.dispatchAction({
type: 'legendUnSelect',
name: key
});
}
}
}
}
在您的代码中使用上述函数,如下所示:
myChart.on('legendselectchanged', function (params) {
legendSelection(myChart, params);
});
于 2021-06-28T04:28:49.183 回答
0
Echarts 有带有事件和动作的 API 。这是快速入门的好教程。简而言之:您需要倾听legendselectchanged
并setOption({series:{...}})
改变风格或系列数量。像这样https://stackoverflow.com/a/64329993/1597964
于 2021-01-21T00:52:55.710 回答