更改highchart网络图中每个链接的长度

时间:2020-07-03 19:22:49

标签: javascript angular charts highcharts

在高图中,可以在网络图中单独设置每个链接的长度吗? 基本上,我想要绘制以下类似的图形,其中每个用户的绘制长度与中心用户的绘制长度不同?

我正在尝试使用linkLength,但是它将设置所有链接的长度。 如何在此处自定义每个链接的长度?

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为唯一的可能性是设置网络中每个节点的初始位置。这样,您可能会得到想要的结果。

initialPositions: function() {
    var chart = this.series[0].chart,
      width = chart.plotWidth,
      height = chart.plotHeight;
      
    this.nodes.forEach(function(node, i) {
        if(i === 0){
        node.plotX = 600;
        node.plotY = 100;
      }
      
      if(i === 1) {
        node.plotX = 350;
        node.plotY = 100;
      }
      
      if(i === 2){
        node.plotX = 200;
        node.plotY = 0;
      }
      
      if(i === 3) {
        node.plotX = 0;
        node.plotY = 0;
      }
      
      if(i === 4) {
        node.plotX = 200;
        node.plotY = 200;
      }
    });
  }

API文档:

https://api.highcharts.com/highcharts/series.networkgraph.layoutAlgorithm.maxIterations https://api.highcharts.com/highcharts/series.networkgraph.layoutAlgorithm.initialPositions

演示:

https://jsfiddle.net/BlackLabel/06Lkgwbz/