【问题标题】:About zooming in D3 radial tree关于放大 D3 径向树
【发布时间】:2015-06-23 07:05:23
【问题描述】:

您好,我正在学习 D3 并正在研究这个集群径向树。我被径向树的缩放和平移特性困住了。当我尝试放大时,树会转到窗口的 (0,0) 坐标,并且不会停留在窗口的中心。我想知道是否有人从事类似项目的工作想阐明如何在缩放和平移时将树保持在屏幕中心。谢谢

【问题讨论】:

标签: d3.js


【解决方案1】:

您需要包含一个当前缩放平移向量并为其指定坐标。例如,在我的项目中,我必须使用 .translate([480,480])。这似乎是将您的绘图设置在缩放路径上的向量。这是我用于调用缩放的代码的 sn-p:

d3.select("svg")
  .call(d3.behavior.zoom()
  .center([770,450])
  .scaleExtent([0.3,10])
  .translate([480,480]) //add this to your zoom call, but adjust coordinates
  .on("zoom",zoom)) 

【讨论】:

  • 附带说明,您可能应该将 .translate() 的坐标调整为根节点的坐标。
  • 非常感谢您分享这个想法。有效。一直以来,我一直在试验 .center([]) 和 API 中的其他方法。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2019-07-08
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多