force-layout

    3热度

    1回答

    我正在玩D3力布局。在强制布局中,您必须给出“链接”和“节点”才能制作强制图。 D3将链接的“源”和“目标”解释为“节点”数组中节点的索引。我的问题是:如何通过其在“节点”属性中的ID而不是索引在“节点”数组中的索引数据? 这里是我的JSON文件: { "nodes": [ {"name": "A", "ID": 10}, {"name": "B", "

    2热度

    1回答

    从this example开始(可能不是最佳选择),我着手尝试开发一个适合我的目的的应用程序,并在此过程中学习d3.js。经过很多天真的修补,我设法得到了一个toy force layout为我的测试数据,满足了我的外观和行为。现在我已经开始尝试在我的特定示例的上下文中理解MB的General Update Pattern,以便用户可以交互式修改图形。我显然还没有理解这个原则。 从小开始,我想创建

    0热度

    1回答

    我的问题如下:虽然我为我的节点设置了fixed : true,但只有第一个(从json文件加载)被修复。新的(由用户创建的)不是固定的,即使使用浏览器的开发者工具,我们也可以看到fixed="true"属性。 redraw()函数中缺少一些东西吗?我应该使用tick()吗?我在这个问题上奋斗了一个星期,我不知道了。 这是我的整个代码(其中初始节点确实是固定的),但我也提出了一个jsfiddle(其

    3热度

    2回答

    我有一个d3强制指导布局,数据的结构如下。是否可以对其应用可折叠力布局(如http://bl.ocks.org/mbostock/1062288)?我希望节点在点击时折叠/展开。 { "nodes": [ {"x": 469, "y": 410}, {"x": 493, "y": 364}, {"x": 442, "y": 365}, {"x":

    2热度

    1回答

    多重焦点力量的真正魔力在这里完成; function tick(e) { var k = .1 * e.alpha; // Push nodes toward their designated focus. nodes.forEach(function(o, i) { o.y += (foci[o.id].y - o.y) * k; o.x

    1热度

    1回答

    我试图整合D3力布局http://nylen.tv/d3-process-map/graph.php这是https://github.com/nylen/d3-process-map现场版是在http://rumi.io.knowledge.tree.8d4ef892b35606a87ba5cc39a1f99f68df97.s3-website-ap-southeast-1.amazonaws.c

    0热度

    1回答

    D3.js力布局中的节点大小参数是什么? 它是屏幕上的像素区域,半径还是完全不同的东西? 最后,如何从该尺寸值计算半径? 编辑:我一直困惑的一个D3例如,它曾经为nodes对象size变量,我认为这个变量是在动力布局类似source和target参数一起使用。事实并非如此。因此,这个问题没有意义。

    0热度

    1回答

    是否可以更改D3中被视为“链接”的内容?我从服务器接收的JSON被设置为“节点”和“边缘”而不是“节点”和“链接”。下面是一个简单的JSON: { "nodes": [ {"fixed":true,"data": {"id": "foo","idType":"USERNAME","color":"red"},"selected":false}, {"fixed":true,"data": {

    1热度

    1回答

    当我想要显示多个网络可视化图时,我有一些使用d3.js可视化网络库的问题。 由于我绘制了一个新图,只有最后一个图的作用力布局正在工作,我无法找出事情出错的地方。 这里是的jsfiddle: https://jsfiddle.net/7mn0qy5b/2/ 这里是我的源: HTML <div id="graph1"></div> <div id="graph2"></div> CSS #gra

    0热度

    2回答

    我有一个响应性的定向力图,它工作的很好,除了我不能让它留在浏览器屏幕内。 D3的代码提示创建边界框: node.attr("cx", function(d) { return d.x = Math.max(r, Math.min(width - r, d.x)); }) .attr("cy", function(d) { return d.y = Math.max(r, Math.min(heig