【发布时间】:2015-10-18 02:41:34
【问题描述】:
我正在努力了解如何制作此图表 http://bl.ocks.org/mbostock/3750558 反应灵敏。 问题是我有一些节点宽度固定坐标,我不知道当浏览器宽度发生变化时如何处理(我猜是用 css 翻译?)。
【问题讨论】:
标签: d3.js force-layout
我正在努力了解如何制作此图表 http://bl.ocks.org/mbostock/3750558 反应灵敏。 问题是我有一些节点宽度固定坐标,我不知道当浏览器宽度发生变化时如何处理(我猜是用 css 翻译?)。
【问题讨论】:
标签: d3.js force-layout
使 svg 元素具有响应性与它是什么类型的元素无关,无论是强制布局、折线图还是其他基于 svg 的渲染。
您可以利用 d3 的原生 zoom-behavior 来调整 <g> 组的大小。您可以在调整窗口大小时务实地调用缩放事件处理程序,在您的情况下,您需要根据视口大小或其他检索屏幕大小的方法来调整大小。
您可能还对根据特定父 svg 元素和子 svg 元素之间边界框的比率来调整您的固定位置图(包裹在 <g> 元素中)的大小感兴趣。您可以查看边界框的示例用法here
【讨论】:
d3.select(window).on('resize', resize); function resize(){ var w=$(document).width(); var h=$(document).height(); var z=d3.behavior.zoom(w,h); d3.select("svg#logograph").call(z) }