highcharts JavaScript中的有向网络图

fgw7neuy  于 2023-08-05  发布在  Highcharts
关注(0)|答案(2)|浏览(157)

有没有一种方法可以用d3js或highcharts创建一个有向网络图。我可以在highchart上创建一个单向网络图。
我的highchart代码是


的数据
我需要的是



我不确定这是否可以用highchart或d3js,我搜索了他们的库,但找不到添加方向箭头的方法。任何人如果在这方面工作过,都可以请您提供建议。我不能使用neo4j,因为我的后端数据库是elasticsearch,我不能使用neo4J。

bkhjykvo

bkhjykvo1#

Highcharts可以做到这一点,但需要一些定制。例如,您可以 Package getLinkPath方法并生成一个带有箭头的路径。

(function(H) {
  H.wrap(H.seriesTypes.networkgraph.prototype.pointClass.prototype, 'getLinkPath', function(proceed) {
    return [...] // path;
  });
}(Highcharts));

字符串

示例:https://jsfiddle.net/BlackLabel/pk8y49qw/

或者向已有路径添加箭头。

示例:https://jsfiddle.net/BlackLabel/vk81xbn3/
有用线程:

jhiyze9q

jhiyze9q2#

我想最简单的方法是使用d3-graphviz

let dotSource = `digraph{
  node [
    style=filled;
  ]
  A [fillcolor=red; fontcolor=black];
  B [fillcolor=green; fontcolor=white];
  C [fillcolor=black; fontcolor=white];
  D [fillcolor=orange; fontcolor=white];
  A -> B;
  B -> C;
  B -> D
}`
d3.select("#graph").graphviz()
    .engine('neato')
    .renderDot(dotSource);

个字符
有大量的选项来布局和/或样式的图形。

相关问题