d3.js v4将视口移动到特定节点

时间:2018-02-28 20:20:34

标签: javascript d3.js

我使用d3.js v4来构建力导向图,就像在基本示例中一样。我还创建了输入字段,用户可以在其中键入节点名称。然后我搜索匹配的circle元素,如下所示:

findNode(name) {
    let theNode = this.d3Svg.selectAll('circle').filter(function(d) {
      return d.name == name;
    });
}

之后我想将视口移动到foundNode。我怎么能这样做?

试过这个: this.d3.zoom().translateTo(theNode, theNode.x, theNode.y); 但没有任何反应。以下是console.log('theNode: ',theNode)所说的内容:

thisNode

我还发现similar question,但在那里使用了一些旧版本的d3。

1 个答案:

答案 0 :(得分:0)

Here是解决方案。 以下代码将视口带到中心:

  getContextById(childId) {
    let context = this.proxyContexts.get(childId);
    if (!context) {
      let error = new Error("WebExtension context not found!");
      Cu.reportError(error);
      throw error;
    }
    return context;
  }