草庐IT

force-layout

全部标签

javascript - 在 Force Directed Graph d3 中引入 Arrow(directed)

我在这里的示例中使用力导向图-http://bl.ocks.org/mbostock/4062045但是由于我的数据是定向的,所以我需要图表中的链接表示为箭头连接。也许喜欢,http://bl.ocks.org/d3noob/5141278.有人可以建议创建有向图的更改或添加,如http://bl.ocks.org/mbostock/4062045我是D3的新手,我找不到解决方案,也许是微不足道的,但我很感激能提供一点帮助。 最佳答案 合并这两个示例很简单,我创建了一个JSFiddletodemo.首先,将箭头样式的定义添加到SVG

javascript - 无法在 D3 JavaScript 库中获取点击事件

我正在使用D3JavaScript库将数据显示为力导向标记。它工作正常。但是我无法将点击事件添加到圈子中。所以当我点击圆圈时,我会得到圆圈的详分割析并将其显示在模态框中。varlinks=[{source:"x",target:"y",type:"paid"},......]';varnodes={};//Computethedistinctnodesfromthelinks.links.forEach(function(link){link.source=nodes[link.source]||(nodes[link.source]={name:link.source});link.

javascript - Angular force 在 url 中出现不需要的感叹号

当我点击这个时:home网址是localhost/Sites/App/#!/#%2Fhome当我点击这个时:home网址是localhost/Sites/App/#!/home但这只适用于我的电脑,对我的同事来说恰恰相反,如果有!,链接就不起作用了。在网址中。我了解SEO最佳实践,但我们没有公共(public)网站,我们需要一个在url中没有感叹号的网站。我了解/在url中被编码,因为angular认为这不是路径分隔符,但为什么在我唯一的计算机中?我们有相同的代码。我们使用IIS或IISexpress,Chrome或IE,没有区别。当它适用于我时,它不适用于所有其他人。在浏览器网络调用

javascript - D3力有向图,根据给定的数据和值不同的形状?

我制作了一个力导向图,我想更改包含"entity":"company"的数据的节点形状,以便它们具有矩形形状,而另一个没有此部分的数据将像现在一样是圆圈。您可以在此处看到我的工作示例,其中只有圆形节点:http://jsfiddle.net/dzorz/uWtSk/我尝试在部分代码中使用ifelse语句添加矩形,我将形状附加到节点,如下所示:function(d){if(d.entity=="company"){node.append("rect").attr("class",function(d){return"nodetype"+d.type}).attr("width",100)

javascript - 缩放 D3 强制布局链接标记上的箭头

我在d3力定向图中有以下代码,我试图根据值(从1-3)改变链接及其关联箭头的大小。笔划粗细确实随值而变化,但箭头不会停​​留在正确的位置。当笔划粗细从1变为3时,它往往会从末端向后移动。关于如何在更改笔划值时使箭头(标记)正确对齐有什么想法吗?非常感谢!varlink=vis.selectAll("line.link").data(json.links).enter().append("svg:line").attr("class","link").style("stroke-width",function(d){returnMath.sqrt(d.value);}).attr("x1

javascript - D3.js 强制布局 - 边缘标签放置/旋转

我是D3.js的新手,我一直在研究强制布局。我尝试过的其中一件事是在链接上放置标签。一种方法是附加svg:text并手动计算translate&rotate,这对直线很有效。但是,如果链接是svg:path(例如arc),这将无法按预期工作。在这些情况下,svg:textPath是建议的解决方案。在thisdemo,您可以看到通过svg:textPath为链接添加标签的简单实现。唯一的问题是,如果源位于目标的右侧,文本将以相反的方向呈现(从我们的Angular来看,从路径的Angular来看它仍然是正确的)。我的问题是,如何处理这个问题?我想出的唯一“解决方案”是,在上述情况下手动交换

javascript - 在 D3 强制布局中,在根节点周围均匀地间隔节点

我刚刚开始使用D3,所以如果有人对我可能没有正确/优化地做的事情有任何一般性建议,请告诉我:)我正在尝试创建一个力导向图,其中节点围绕中心根节点(以较大的尺寸标注)均匀分布(或足够接近)。这是我尝试实现的布局示例(我知道它不会每次都一样):我有下图:varwidth=$("#theVizness").width(),height=$("#theVizness").height();varcolor=d3.scale.ordinal().range(["#ff0000","#fff000","#ff4900"]);varforce=d3.layout.force().charge(-12

javascript - 在 d3.js 中更新 layout.pack

我正在努力思考d3的包布局(http://bl.ocks.org/4063530)。我有基本的布局,但我想用新数据更新它。即收集新数据,将其绑定(bind)到当前layout.pack并进行相应更新(更新/退出/进入)。我的尝试在这里(http://jsfiddle.net/emepyc/n4xk8/14/):varbPack=function(vis){varpack=d3.layout.pack().size([400,400]).value(function(d){returnd.time});varnode=vis.data([data]).selectAll("g.node"

javascript - d3.js 将点击 Action 添加到力布局圈?

我正在努力创建一个具有强制布局的无向图。此外,我尝试通过点击事件改变每个圆圈(节点)的颜色。是否有任何想法在圆形元素上添加此类事件。我尝试了这段代码,但它不起作用。vis.selectAll("circle.node").on("click",function(d){vis.select(d).attr(r,25).style("fill","lightcoral").style("stroke","red");}); 最佳答案 select(d)引用数据,而不是元素。你需要select(this)vis.selectAll("ci

javascript - Angular : force resolve again

我要解决的依赖关系依赖于变化的数据。您如何强制Angular再次解决依赖关系?$routeProvider.when('/blah',{templateUrl:'/static/views/myView.html',controller:'myCtrl',resolve:{theData:function(myFactory){returnmyFactory.promise;}}}).即,每次执行此whenblock时,我都想重新解决依赖关系。这是微不足道的吗? 最佳答案 每次路线更改时都会重新检查解析block。在你的情况下,你需