我使用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)
似乎无法弄清楚我做错了什么
这是我的小提琴
答案 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_);})