2014-10-14 3 views
0

Я использую d3 для построения графика.установить ширину и высоту элемента SVG - d3.js

Теперь я пытаюсь установить ширину и высоту этого площадь IKE это -

var area2 = d3.svg.area() 
      .interpolate("monotone") 
      .attr("width", this.options.width) 
      .attr("height", 100); 

Но, я получаю эту ошибку -

Uncaught TypeError: не определено не является функцией

Смотрите здесь - enter image description here

ПРИМЕЧАНИЕ. Я проверил и this.options.width не является нулевым. Это значение равно 1727.

Я новичок в d3 и SVG, любое предложение поможет.

+1

Посмотрите, как работает область SVG. Вы не указываете высоту и ширину. Вы предоставляете x, y0 и y1. http://bl.ocks.org/mbostock/3883195 –

ответ

1

svg.area предоставляет x, y0 и y1 (как ранее указывалось в коде кода). от y0 до y1 находится нижняя часть нижней части графика (ось x) до строки, если это линейный граф.

Нечто подобное звучит как то, что вы хотите:

var area2 = d3.svg.area() 
     .x(function(d) { return x(d.X_VARIABLE); }) 
     .y0(height) 
     .y1(function(d) { return y(d.Y_VARIABLE); }); 

Великий пример: http://www.d3noob.org/2013/01/filling-area-under-graph.html

Как отмечает автор, вы должны быть определяющим ваши домены для х и у, а также (если у вас есть не).

+0

Хорошо, возьмите мою Карму :) –