我正在阅读以下帖子:

真的是一个很好的解决方案......我是d3的新手,并且对它的灵活性着迷.我一度面临问题.我想在html文本框中根据输入的文本(节点名称或id)过滤它,而不是在鼠标悬停时过滤节点.任何想法如何实现这一点?
问候
如何在D3.js中的强制定向布局中关联LinkDistance和LinkStrength?我假设他们是,如果我错了,请纠正我.
我知道linkDistance定义了任何节点对之间的长度,并且在力布局中基本上用作约束.但是linkStrength扮演什么角色?D3.js的API文档将其定义为"在[0,1]范围内指定值的链接的强度(刚性)""刚性"在这里的含义是什么?
我在这里使用样本中的力导向图 - http://bl.ocks.org/mbostock/4062045
但由于我的数据是定向的,我需要图表中的链接表示为箭头连接.也许就像在http://bl.ocks.org/d3noob/5141278.
有人可以建议创建有向图的更改或添加,如http://bl.ocks.org/mbostock/4062045
我是D3的新手,我找不到解决方案,也许是微不足道的,但是有点帮助是值得赞赏的.
您是否了解用于GUI的C++ 中强制定向布局的开源实现?优选BSD/MIT/Apache或其他(非GPL)许可.
我正在使用该D3.js库并查看强制导向的图形演示:
http://mbostock.github.com/d3/ex/force.html

我也在看节点链接树:
http://mbostock.github.com/d3/ex/tree.html

我想做的是:
- 从力导向图开始,当用户点击某个节点时,将其平滑地动画到树中,所选节点位于中心. - 然后,当用户单击画布中的任何空白区域时,它应该动画回到力导向图.
有没有人之前做过这样的事情,或者对最好的方法有任何建议?我是D3.js的新手,不知道框架是否支持这一点.
可以用d3.js layout.force来(重新)定位像div这样的非svg元素吗?
如果div position: absolute;可能left并且top可以用作svg元素的x1和y1属性的等价物?
目标是通过IE8支持对图像和菜单项产生一些强制效果.我知道svg节点可以是图像,但由于我需要支持IE8,因此这不是一个选项.
如果不可能,将svgweb和d3.js一起用于此目的的稳定选项?
谢谢!
****更新
D3真酷!我开始了解它并且肯定可以在常规html元素(如div)上使用" force ",因为它d3.layout.force()基本上为每个"tick"(或框架)提供x和y坐标,但是你可以使用它想.
即:
force.nodes(data)
.on("tick", tick)
.start();
function tick() {
div.style("left", function(d) {return d.x+"px"})
.style("top", function(d) {return d.y+"px"});
}
Run Code Online (Sandbox Code Playgroud)
工作得很好!
拖动.call(force.drag);确实会给你带来问题(如预期的那样).
萤火虫:
(container.ownerSVGElement || container).createSVGPoint is not a function
d3_svg_mousePoint()d3.js (line 3718)
container = div#nav
e = mousemove clientX=607, clientY=200
mouse()d3.js (line 3711)
container = div#nav
d3_behavior_dragPoint()d3.js (line 4481)
d3_behavior_dragDispatch()d3.js (line 4453)
type = "drag" …Run Code Online (Sandbox Code Playgroud) 我有一个d3.js静态力布局图可以变得相当大(有时它的一部分被剪裁),所以我想让用户通过拖动平移整个图形.我认为我不需要拖动单个节点,我有一种感觉会让人感到困惑,但是我希望能够显示由svg边界剪切的图形部分.
我在有一个小例子http://bl.ocks.org/3811811它使用
visF.append("rect")
.attr("class", "background")
.attr("width", width)
.attr("height", height)
.call(d3.behavior.zoom().on("zoom", redrawVisF));
function redrawVisF () {
visF.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
}
Run Code Online (Sandbox Code Playgroud)
实现平移,但我发现它真的是"闪光"并且根本不是很平滑,我猜它会阻止人们尝试拖动功能.有没有人知道为什么会发生这种情况和/或如何解决它?
我想知道如果有是创建具有d3.js导向布局力和任意形状以这样的方式限制它的方式,
我希望那里已有这样的解决方案.否则,我的想法是从力导向布局开始,并检查每次迭代中从节点到边界的距离.你有什么建议吗?
我正在使用强制布局来表示定向的未加权网络.我的灵感来自以下示例:http://bl.ocks.org/mbostock/1153292

由于我自己的数据真的很乱,我想通过手动拖动来停止布局和移动节点.我也希望节点的运动不会改变其他人的位置.并且链接变得更长,以到达已移动的节点是必要的.
有一个简单的方法吗?
我使用d3 force布局来构造图形,然后将节点的位置存储在数据库中.
下次我想显示图表时,我将数据库中的位置读入节点,然后启动强制布局.
这导致布局略微移动.
我是否可以在不调用force.start()的情况下显示存储节点位置的图形?
我想要的是一个"只读"模式,以显示之前由其他人创建的稳定图形.
/汉斯
force-layout ×10
d3.js ×9
javascript ×3
animation ×1
c++ ×1
drag ×1
graph-layout ×1
pan ×1
tree ×1
zoom ×1