如何在D3.js强制布局图中创建到主节点的附属节点

格特拉

我正在尝试在力布局下创建到主要图节点的卫星节点。每个节点都应附有一个或多个相应的卫星节点。

这是一个显示意图的jsfiddle(此示例具有固定位置,并且没有力控制卫星节点。

http://jsfiddle.net/guidoextras/zLt2sne3/1/

        node.append("circle")
        .attr("class", "planet_node")
        .attr("r", function(d) { return d.weight * 2 + 12; })
        .style("fill", function(d) { return color(1/d.rating); });


    node.append("circle")
        .attr("r", 5)
        .attr("class", "satellite_node")
        .attr("cx", function(d) { return d.weight * 2 + 25; })
        .attr("cy", 0)
        .style("stroke-width", "1")
        .style("stroke", "black")
        .style("fill", "cyan");

卫星节点应:

  • 通过一个固定的较短距离的链接连接到主节点。链接距离应固定。
  • 受到来自其主节点(行星)的作用力,并且不受其他因素的影响(如果链接的距离始终固定,则可能不成问题)
  • 当同一行星节点上存在更多的卫星节点时,预计它们可以互相排斥,因此不会占据相同的位置。

我认为要实现这一目标,我必须:

  • 将所有卫星节点视为同一数据集中的普通节点
  • 强制将卫星节点和行星节点之间的链接的链接距离缩短(或固定)<-不确定如何在特定链接/节点上完成此操作
格特拉

这是我的发现:

1)正常创建卫星节点的节点

2)在节点之间创建Link []数据时,请定义属性“类型”,并将其设置为“行星”以表示行星之间的链接,将其设置为“ satellite”以表示卫星节点与其行星之间的链接

node[0] = {"name":"planet-1"}
node[1] = {"name":"satellite-to-planet-1"}
node[2] = {"name":"planet2"}
node[3] = {"name":"planet3"}

link[0] = {"source":0, "target":1, "type":"SATELLITE"}
link[1] = {"source":2, "target":3, "type":"PLANET"}

3)如下设置力的布局属性:

  this.force = d3.layout.force()
  .nodes(this.nodes)
  .links(this.links)
  .charge(-400)
  .linkDistance( function (d) { return ( d.type == "SATELLITE" ? "10" : 120 ) } )
  .size([this.w, this.h])
  .on("tick", tick);

这迫使行星到卫星的链接比其他链接短

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

D3强制布局:如何设置每个节点的大小?

来自分类Dev

D3强制布局节点属性未正确更新

来自分类Dev

d3在节点中强制布局链接位置

来自分类Dev

d3强制使用节点组进行布局

来自分类Dev

D3 JS-强制图-删除节点后不重新启动布局

来自分类Dev

如何替换d3强制布局中的节点?

来自分类Dev

如何在d3的力布局图中获得相同的节点位置

来自分类Dev

d3以可预测的顺序强制布局节点

来自分类Dev

在D3.js中的动态强制布局图中显示节点标签

来自分类Dev

如何在D3面积图中覆盖颜色

来自分类Dev

最初如何在d3 Force有向图中限制节点数

来自分类Dev

如何在d3 Sankey图中将节点标题放在节点的左侧或右侧?

来自分类Dev

如何在D3中创建连接节点的曲线

来自分类Dev

如何在d3力中移除节点?

来自分类Dev

d3js使用固定节点创建强制布局

来自分类Dev

如何使D3的强制布局中的标签和节点可单击以导航到URL?

来自分类Dev

如何在D3 JS中避免树形布局的某些节点的可点击性

来自分类Dev

在d3力布局图中的节点上显示文本

来自分类Dev

D3强制布局-如何实现节点的3D外观?

来自分类Dev

将节点放置在d3强制布局的屏幕中央

来自分类Dev

如何在d3的力布局图中获得相同的节点位置

来自分类Dev

如何在d3强制布局中添加文本?

来自分类Dev

D3强制布局,其中较大的节点聚集在中心

来自分类Dev

如何在D3气泡图中操纵圆?

来自分类Dev

如何在d3强制定向布局节点上显示工具提示?

来自分类Dev

D3 js强制布局:使用链接参数设置节点半径

来自分类Dev

D3图:如何在节点内分配图像

来自分类Dev

如何在 D3 力布局图中将图像附加为节点?

来自分类Dev

如何使用react更新d3强制布局中节点的数据

Related 相关文章

  1. 1

    D3强制布局:如何设置每个节点的大小?

  2. 2

    D3强制布局节点属性未正确更新

  3. 3

    d3在节点中强制布局链接位置

  4. 4

    d3强制使用节点组进行布局

  5. 5

    D3 JS-强制图-删除节点后不重新启动布局

  6. 6

    如何替换d3强制布局中的节点?

  7. 7

    如何在d3的力布局图中获得相同的节点位置

  8. 8

    d3以可预测的顺序强制布局节点

  9. 9

    在D3.js中的动态强制布局图中显示节点标签

  10. 10

    如何在D3面积图中覆盖颜色

  11. 11

    最初如何在d3 Force有向图中限制节点数

  12. 12

    如何在d3 Sankey图中将节点标题放在节点的左侧或右侧?

  13. 13

    如何在D3中创建连接节点的曲线

  14. 14

    如何在d3力中移除节点?

  15. 15

    d3js使用固定节点创建强制布局

  16. 16

    如何使D3的强制布局中的标签和节点可单击以导航到URL?

  17. 17

    如何在D3 JS中避免树形布局的某些节点的可点击性

  18. 18

    在d3力布局图中的节点上显示文本

  19. 19

    D3强制布局-如何实现节点的3D外观?

  20. 20

    将节点放置在d3强制布局的屏幕中央

  21. 21

    如何在d3的力布局图中获得相同的节点位置

  22. 22

    如何在d3强制布局中添加文本?

  23. 23

    D3强制布局,其中较大的节点聚集在中心

  24. 24

    如何在D3气泡图中操纵圆?

  25. 25

    如何在d3强制定向布局节点上显示工具提示?

  26. 26

    D3 js强制布局:使用链接参数设置节点半径

  27. 27

    D3图:如何在节点内分配图像

  28. 28

    如何在 D3 力布局图中将图像附加为节点?

  29. 29

    如何使用react更新d3强制布局中节点的数据

热门标签

归档