2015-09-26 3 views
0

Я пытаюсь сделать вертикальную диаграмму области, с линией в ее правых границах. Линия рисуется идеально (сверху вниз), но область рисуется на правой стороне пути, она должна быть слева.Вертикальный d3.svg.area?

Я начал с горизонтальной диаграммы, и тогда он работал. См. jsfiddle. Я также пробовал вращать путь, но не могу получить желаемый результат.

var xScale = d3.scale.linear().range([0, sm_width]), 
    yScale = d3.time.scale().range([0, sm_height]); 

var area = d3.svg.area().x(function(d) { 
    return xScale(xValue(d)); 
}) 
.y0(sm_height).y1(function(d) { 
    return yScale(yValue(d)); 
}); 

var line = d3.svg.line().x(function(d) { 
    return xScale(xValue(d)); 
}) 
.y(function(d) { 
    return yScale(yValue(d)); 
}); 
+0

По моему пониманию документов вам нужно будет создать диаграмму, а затем поверните ее на 90 град. Область будет находиться между значениями 'y0' и' y', поэтому в вашем примере это область под вашей линией. –

ответ

0

Решение было вращать диаграмму себя как Cool Blue упоминается в комментарии.

0

Это не может помочь вам, хотя, что об использовании CSS, как ниже

.area{ 
     fill:white; 
     } 

svg{ 
    background:#ccc; 
    }