D3 js用于不平衡数据的规模

时间:2018-01-30 05:35:28

标签: javascript d3.js scale data-visualization

我必须渲染几个圆圈,其中" r" attr取决于输入数据。与我使用scaleLinear |时的其他数据点相比,输入数据的问题是其中一个值太大了Pow |记录范围2 - 35;我的所有圆圈的半径都在2 - 3之间,只有少数数据点是半径35.那么我可以使用什么样的比例来获得更好的视觉效果呢?

1 个答案:

答案 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