Я новичок в D3 и хочу нарисовать диаграмму Stepline. Но не как путь! Мне нужны отдельные линии, поэтому мне нужна ступенчатая линия «вручную». Мой вопрос: как рисовать вертикальные линии?
Я рисую горизонтальные линии следующим образом:
var g = svg.append("g").attr("class", "line");
g.selectAll("line")
.data(data)
.enter()
.append("line")
.attr("x1", function(d,i) { return x(d[0]);})
.attr("y1", function(d,i) { return y(d[1]);})
.attr("x2", function(d,i) { return x(d[2]);})
.attr("y2", function(d,i) { return y(d[1]);})
.attr("class", "line")
.style("stroke", "black")
Мой набор данных выглядит так (пример):
[
'2011-01-04T00: 00: 00.000',
6975.35009765625,
'2011-01-03T00: 00: 00.000',
6989.740234375
],
[
'2011-01-05T00: 00: 00.000',
6939.81982421875,
'2011-01-04T00: 00: 00.000',
6975.35009765625
],
So:
d[0] = actual date
d[1] = actual data
d[2] = previous date
d[3] = previous data
И теперь я пытаюсь выяснить, в каком направлении мне нужно провести вертикальную линию до следующего значения x. Если следующее значение x выше, линия должна идти вверх, если следующее значение x ниже, линия должна идти вниз.
Может ли кто-нибудь помочь мне, пожалуйста.