【问题标题】:The d3 force layout central node positioningd3力布局中心节点定位
【发布时间】:2014-06-23 02:53:24
【问题描述】:

我已经使用 d3.js 来可视化我的数据。结果是这样的。

PIC_1

PIC_2

我的问题是如何使数据像 PIC_1 一样呈现,中心点在固定位置局部,而中心点周围的其他点(子点)像圆一样。

现在,当我刷新页面时,数据将在浏览器中重新加载,所有点的位置也会随机变化。

那么 d3 的 api 或技巧可以用于此目的。 :)

【问题讨论】:

    标签: javascript css d3.js force-layout


    【解决方案1】:

    看看这个例子:

    link to jsfiddle

    如果您检查代码并使用布局,您会看到根节点经过特殊处理,使其始终保持在图形的中心(除非您拖动它,但即使您可以防止想要)。

    在初始化时,其属性 fixed 设置为 true,因此 d3 强制布局模拟不会移动它。此外,它被放置在包含布局的矩形的中心:

    root.fixed = true;
    root.x = width / 2;
    root.y = height / 2;
    

    您当然需要更改或添加一些代码才能将此功能集成到您的示例中,但核心思想从我链接的示例中非常清楚。

    希望这会有所帮助。如果您有任何问题、需要澄清等,请告诉我。

    【讨论】:

    • 谢谢!真的很管用!我检查了 d3 的文档,发现该节点有一个名为 fixed 的属性。通过以上方法可以达到我的预期!很抱歉确认不及时。
    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 2014-10-27
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2013-02-28
    • 2014-02-09
    • 1970-01-01
    相关资源
    最近更新 更多