У меня есть диаграмма Stacked Area в c3.js, и я пытаюсь создать событие двойного щелчка, которое сообщит мне, в какой области диаграммы щелкают.
Мне удалось выяснить, как получить его, чтобы увидеть, какое значение X щелкает по этому сценарию.
chart.internal.main.selectAll('.' + c3.chart.internal.fn.CLASS.eventRect).on('dblclick', function () {
var $$ = chart.internal;
$$.main.selectAll('.' + c3.chart.internal.fn.CLASS.area).each(function (d) {
if ($$.isWithinShape(this, d)) {
var coords = d3.mouse(this);
var xCoord = coords[0];
var xScale = chart.internal.x.invert;
var xValue = new Date(xScale(xCoord));
}
});
Но выяснение, на какую из областей сложения щелкнули, ускользает от меня. Диаграмма имеет три области с накоплением, и $$.main.selectAll
охватывает все три из них, но $$.isWithinShape
также проходит все три из них.