【问题标题】:How to zoom and translate to center of force directed graph in D3如何在 D3 中缩放并转换为力中心有向图
【发布时间】:2014-02-14 14:28:00
【问题描述】:

我正在寻找一种将缩放以适应力导向图的方法。我已经能够放大/缩小以覆盖视图屏幕上的图形。我不确定转换到力有向图的中心。有什么帮助吗?

【问题讨论】:

    标签: javascript graph d3.js force-layout


    【解决方案1】:

    如果您已经在使用缩放行为来适应屏幕中的图表,那么使用相同的行为进行翻译应该不难。找到中心有点棘手,但对于力导向布局,您可能无需计算图形的质心 - 只需平均节点的所有 x 和 y 坐标。

    【讨论】:

    • calculateTranslation: function(x,y){ // 获取比例 var scale = Graph.Zoompos; // 根据比例和视口计算中心 var scaledCenterX = (Graph.width / scale) / 2; var scaledCenterY = (Graph.height / scale) / 2; // 计算平移向量 var panx = -(x - scaledCenterX); var pany = -(y - scaledCenterY);控制台.log(panx+" "+pany); // 设置平移向量和比例 d3.zoom.translate([panx, pany]); }
    猜你喜欢
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2014-10-03
    • 1970-01-01
    • 2014-02-27
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多