有一种方法可以在echarts中的力图中设置节点的初始位置。但有没有办法让这个节点保持这个位置?
答案 0 :(得分:0)
当然,有一个名为fixed的属性决定了一个节点是否修复。所以你可以在echarts上设置一个事件监听器。例如,我设置了一个click事件监听器,如:
myChart.on('click', function (params) {
fixNode(params.data);
});
params.data是您在echarts上单击的对象。然后您应该编写一个fixNode方法,如:
function fixNode(currentNode){
_nodes.forEach(function (node) {
if(node.name==currentNode.name) node.fixed = true;
});
refresh();
}
这个方法是遍历名为_nodes的节点数组,并在_nodes中找到与currentNode相同的节点。当我们找到它时,我们可以将其属性设置为true.最后,我们必须将数据重新绑定到echarts,所以我们写了一个刷新echarts的方法:
function refresh(){
option={
series:[
{
data:_nodes
}
]
};
mycharts.setOption(option);
}
现在,您单击的节点将固定在一个位置。