javascript - 调整 D3 强制布局

标签 javascript d3.js resize force-layout

是否可以在 d3.js 中调整强制布局的大小?例如,我有一个由

定义的布局
var force = d3.layout.force()
.nodes(documents.nodes)
.linkDistance(0)
.friction(.2)
.size([width, height]);

force.start();

我希望稍后在项目中调整它的大小。这可能吗?

最佳答案

很快,在调整大小事件中,您应该更改svg 对象 的属性(它还会更改重心)并恢复力计算:

window.onresize = function() {
  width = window.innerWidth, height = window.innerHeight;
  svg.attr('width', width).attr('height', height);
  force.size([width, height]).resume();
};

d3 force 调整大小的一个例子是 provided here .

关于javascript - 调整 D3 强制布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302909/

相关文章:

javascript - 如果没有找到匹配的值,jQuery-ui 自动完成显示所有值

javascript - 如何用 JavaScript window.location 链接替换所有 <a href ="..."> 链接以便在 Web 应用程序中使用?

javascript - 如何动态添加带有标签的圆圈?

javascript - 不想在 Flexigrid 中调整列的大小

javascript - jQuery - Google 图像功能在点击时滚动到无序列表行的顶部

javascript - 如何使用 javascript 自定义事件而不是 while 循环?

javascript - D3 js 从数据属性设置数据

html - 使用下拉菜单中选定的颜色选项更新 map 多边形和 map 图例?

jQuery 调整 CSS 元素的大小

css - 使用 css 响应式 div 宽度和高度