d3的反向线性标度

时间:2015-08-31 14:44:01

标签: networking d3.js scale reverse linear

我正在尝试创建一个网络,其中最高加权边缘的关联节点之间的距离最小。我尝试了如下所示的笨重方式:简单地给出范围内的“最小”输出,最高实际输入和“最大”输出的反向。但是,这并没有完全奏效。虽然没有抛出任何错误并且绘制了可视化,但仍然存在一些具有较低权重的边缘,其具有比具有较高权重的那些更小的距离。他们是更好的方法来扭转我的线性标度的输出吗?或者是因为我的代码中存在某些不同而导致出现此问题?

        var distance_scale = d3.scale.linear()
                                .domain([min,max])
                                .range([max*0.0015, min*0.0015]);
        var svg = d3.select("body")
                    .append("svg")
                    .attr("width", w)
                    .attr("height", h);
        var force = d3.layout.force()
                             .links(data.edges)
                             .nodes(data.nodes)
                             .size([w, h])
                             .linkDistance(function(d){
                                return distance_scale(d.weight)
                             })
                             .charge([-1000])
                             .start();

1 个答案:

答案 0 :(得分:1)

力布局中的链接距离仅作为指导。没有办法强制执行特定链接的特定长度。