使节点在echarts力图中固定

使节点在echarts力图中固定,echarts,Echarts,在echarts中,有一种方法可以设置力图中节点的初始位置。但是有没有办法让这个节点保持在这个位置?当然,有一个名为fixed的属性决定节点是否修复。因此,您可以在echarts上设置一个事件侦听器。例如,我设置了一个单击事件侦听器,如下所示: myChart.on('click', function (params) { fixNode(params.data); }); params.data是您单击echarts的对象。然后您应该编写一个fixNode方法,如: functi

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

当然,有一个名为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,因此我们编写了一个刷新echarts的方法:

function refresh(){
  option={

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

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

当然,有一个名为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,因此我们编写了一个刷新echarts的方法:

function refresh(){
  option={

      series:[
              {
                data:_nodes
              }
             ]
         };
  mycharts.setOption(option);
}
现在,单击的节点将固定在某个位置