Обновите ось Y начищенной диаграммы области
Я использую d3.js, и ям работает на матовой диаграмме области путем измененияэтот пример, В дополнение к изменению оси X на основе кисти, я 'мне нравится графикs ось y, которая будет перерисована, основана на значениях y данных, которые попадают в кисть (аналогично поведениюграфик Google Finance).
Я получил работоспособность функциональности, но только таким способом, который позволяет рисовать кисть в x- и y-пространстве. Я сделал это, сначала добавив шкалу y кbrush
переменная:
var brush = d3.svg.brush()
.x(x2)
.y(y2)
.on("brush", brush);
Это делаетbrush.extent()
вернуть следующий многомерный массив:[ [x0, y0], [x1, y1] ]
, Затем я использую эти данные вbrush()
Функция для переопределения x- и y-домена для фокусной диаграммы:
function brush() {
var extent = brush.extent();
x.domain(brush.empty() ? x2.domain() : [ extent[0][0], extent[1][0] ]);
y.domain(brush.empty() ? y2.domain() : [ extent[0][1], extent[1][1] ]);
focus.select("path").attr("d", area);
focus.select(".x.axis").call(xAxis);
focus.select(".y.axis").call(yAxis);
}
Это работает, но, определив масштаб y в переменной кисти, пользователь теперь может перетащитьящики в фокусной диаграмме, а не только в состоянии перетащить с запада на восток, как в исходной диаграмме.
По сути, мой вопрос:Как я могу получить диапазон значений, которые попадают в кистьПлощадь, а не диапазон кистиСам район? Это вообще возможно?
d3'документация кистиВот.