Я новичок в d3.js, и я изо всех сил пытаюсь заполнить область между строками в многомерном процентильном графике.
- Я не хочу, чтобы какая-либо область заполнялась ниже самой нижней строки или выше самой верхней строки.
- Первый столбец всегда будет внизу графика (5-й процентиль).
- Последний столбец всегда будет вверху графика (95-й процентиль).
- Мне нужны отдельные сегменты области между каждой строкой
Я знаю, что мне нужно определить область для заполнения между (y0, y1) следующим образом:
var area = d3.svg.area()
.x(function(d) { return x(d.date); })
.y0(function(d) { return y(BOTTOM); })
.y1(function(d) { return y(TOP); });
Однако я не могу понять, что добавить в раздел .y1. В идеале я бы просто взял следующее значение следующей строки в TSV, но я не знаю, как это сделать правильно.
В целях тестирования у меня есть следующее, которое создает ОДИН из сегментов области, которые мне нужны:
.y0(function(d) { return y(+d.p05); })
.y1(function(d) { return y(+d.p25); });
Я хочу что-то вроде этого, но этот пример не помогает, так как он не ссылается на другую строку из csv/tsv:
http://bl.ocks.org/mbostock/4060954
Этот аналогичный, но двумерный, а не многомерный.
http://bl.ocks.org/mbostock/3894205
Вот моя работа в процессе (исходный код):
http://artfuladvection.com/project/NOAA/percentilesGraph/multipercentile.html
Мой TSV настроен следующим образом:
date p05 p25 p50 p75 p95
20140122 3 4 5 6 12
20140123 9 10 12 22 34
20140124 14 16 18 34 66
Любая помощь?