0

我正在使用 d3.scale.linear() 将输入域缩放到输出范围。我看了这个文档

http://alignedleft.com/tutorials/d3/scales

到目前为止有这个

//here I am declaring the domain and range by passing the max, min as parameters
    var rScale = d3.scale.linear()
        .domain('min', 'max')
        .range('10', '250'); 

我正在预先计算最大值和最小值并将它们存储在变量中并将这些变量作为参数传递给域和范围

然后我只是将 rScale 作为参数传递给圆的属性.attr('r',rScale)

似乎无法弄清楚我做错了什么

这是我的小提琴

http://jsfiddle.net/sghoush1/Vn7mf/19/

4

2 回答 2

3

将域和范围作为数组传递。

D3 v3 uses:-
-------------
var rscale = d3.scale.linear()
             .domain([min,max])
             .range([10,300])

D3 v4:-
-----------
var rscale = d3.scaleLinear()
             .domain([min,max])
             .range([10,300])
于 2017-04-25T16:57:56.277 回答
0

1)要将域和范围传递给比例,请使用数组:

    var rScale = d3.scale.linear()
    .domain([min, max])
    .range([10, 250]);

2)使用你的规模:

   .attr("r", function(d) { return rScale(d.consumption_gj_);}) 
于 2013-08-20T03:31:45.740 回答