2013-08-20 5 views
0

Я использую d3.scale.linear() для ввода входного домена в выходной диапазон. Я смотрел на эту документациюd3.scale.linear() not working

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)

Невозможно понять, что я doi нг неправильно

Вот моя скрипка

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

ответ

0

1) Для того, чтобы перейти в домен и диапазон в масштабе, использовать массив:

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

2) Для того, чтобы использовать шкалу:

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

@ David - Спасибо! это сработало!! – soum

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