【问题标题】:Make node fixed in echarts force graph使节点固定在 echarts 力图中
【发布时间】:2017-06-09 11:22:38
【问题描述】:

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

【问题讨论】:

    标签: echarts


    【解决方案1】:

    当然,有一个名为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);
    }
    

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

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多