我有一个包布局,其中一些实体的值为零。我正在尝试找到一种方法来为这些设置默认半径。根据文档,我希望我能写出这样的东西
pack.radius(function(r){
return r==0 ? MIN_RADIUS : oldRadiusFunction(r);
});
但到目前为止,在确定如何访问“oldRadiusFunction”方面还没有取得任何成功。
我最接近解决这个问题的是:
pack.radius(function(r){
return r== 0 ? MIN_RADIUS : p.radius(null)(r);
});
var p = this.pack;
...为了从函数内部访问 this.pack 。这最初似乎运作良好,但当我开始更新图表时开始产生奇怪的结果。
无论如何,任何帮助将不胜感激,非常感谢您的关注和投入!
编辑:这是文档所说的
pack.radius([半径])
如果指定了半径,则设置计算每个节点半径的半径函数。如果 radius 为 null(默认情况下),则半径由节点值自动确定,并按比例缩放以适合布局大小。如果没有指定radius,则返回当前的radius函数,默认为null。半径也可以指定为统一的圆大小的常数。
我的目标(可能有点天真)是传递一个函数,当将 0 作为参数传递时将返回 MIN_RADIUS,或者返回默认值对于其他值返回的值。