d3.scale.linear()不起作用

时间:2013-08-20 02:52:47

标签: javascript d3.js

我使用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'); 

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

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

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

这是我的小提琴

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

2 个答案:

答案 0 :(得分:2)

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

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])

答案 1 :(得分:0)

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

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

2)使用你的比例:

   .attr("r", function(d) { return rScale(d.consumption_gj_);})