我必须渲染几个圆圈,其中" r" attr取决于输入数据。与我使用scaleLinear |时的其他数据点相比,输入数据的问题是其中一个值太大了Pow |记录范围2 - 35;我的所有圆圈的半径都在2 - 3之间,只有少数数据点是半径35.那么我可以使用什么样的比例来获得更好的视觉效果呢?
答案 0 :(得分:0)
您可以使用d3.scaleQuantize。 以下是文档提供的示例:
var width = d3.scaleQuantize()
.domain([10, 100])
.range([1, 2, 4]);
width(20); // 1
width(50); // 2
width(80); // 4
或者您可以编写自己的分类功能。像这样的东西(这里有3个班级):
如果输入数据< x => r = 2
否则如果x< =输入数据< y => r = 8
else(输入数据> = y)=> r = 14