1

有一种方法可以在 echarts 中设置力图中节点的初始位置。但是有没有办法让这个节点保持在这个位置?

4

1 回答 1

0

当然,有一个名为fixed的属性决定了节点是否修复。所以你可以在echarts上设置一个事件监听器。例如,我设置了一个点击事件监听器,如:

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相同的节点。找到后,我们可以设置它的属性fixed为true。最后,我们要重新绑定数据到echarts,所以我们写了一个方法来刷新图表:

function refresh(){
  option={

      series:[
              {
                data:_nodes
              }
             ]
         };
  mycharts.setOption(option);
}

现在,您单击的节点将固定在一个位置。

于 2017-11-05T05:20:54.110 回答