javascript - 更改 d3 SVG Canvas 的缩放级别?

标签 javascript zooming scale d3.js

我有a test site我正在 build 一个d3-based force-directed network graph来 self 自己的数据。

如果我选择了大约五个或六个基因,我图表中的节点开始绘制在 Canvas 之外。

我需要调用 d3 API 的哪些部分来控制缩放级别,以便节点不会从 Canvas 边缘消失?

如果有任何代码片段可以简要解释这个概念,我肯定会很感激,除非实现相当简单。感谢您的建议。

最佳答案

D3 允许使用缩放并且实现起来相当容易。您只需要将图表包裹在我称之为“viewport”的“g”元素中。然后你将分配给 svg 元素的缩放事件:

svg.call(d3.behavior.zoom().on("zoom", redraw))

以下函数:

function redraw() {
    d3.select("#viewport").attr("transform",
        "translate(" + d3.event.translate + ")"
        + " scale(" + d3.event.scale + ")");
}

关于javascript - 更改 d3 SVG Canvas 的缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019184/

相关文章:

javascript - Google Plus 共享和使用 Google Plus 登录消失了

具有缩放功能的 jQuery 灯箱

imagemagick - 按比例缩小大的 EPS 图片,没有尖锐的结果和剪切路径

css - 有没有办法通过css缩放GtkImage显示?

javascript - 导航关闭时隐藏文本导航

javascript - 当与 flex row-reverse 一起使用时,scrollWidth 返回 clientWidth 而不是实际的内容宽度

python - 在Python PIL中使用可设置的中心和比例裁剪图像

android - 使用 ffmpeg (sws_scale) 将图像编码为视频

javascript - 将数组数组转换为具有映射属性的对象数组

javascript - 使用 Jquery 缩放图像后可拖动区域不正确