Dav*_*vid 12 bounding-box d3.js
我想很多与D3.js一起工作的人已经经历过同样的事情:你的网络或你所采取的任何可移动元素如果被推到硬盘上,就会继续飞出svg-element.如果我的网络很大,外部节点就会消失,它们就会"落入世界的边缘".
我非常害羞有一种方法可以使svg的边框成为坚固的"墙",因此元素不能离开它并在空间中隐形飞行:)
你是怎么处理这个问题的?你是怎么解决的?
大卫先生,谢谢你
Dav*_*vid 14
最后,如果您在网络上找到合适的网站,那将非常简单. http://bl.ocks.org/1129492正是我想要的 - 对象无法从svg中滑出.所以他在更新节点位置时只添加了一些约束.我的'tick'功能结束了
node.attr("cx", function(d) { return d.x = Math.max(15, Math.min(width - 15, d.x)); })
.attr("cy", function(d) { return d.y = Math.max(15, Math.min(height - 15, d.y)); });
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
Run Code Online (Sandbox Code Playgroud)
只要有重要的事情发生,就会调用它,"滴答" - 东西是在D3.js内部深处建立的东西,所以不要问我这个问题.:)
给定代码中的前两行和最后一行检查坐标是否开箱即用.
希望这可以帮助那里的人比我做得更快;)
玩得开心,戴夫
| 归档时间: |
|
| 查看次数: |
8573 次 |
| 最近记录: |