在堆积面积C3js图表中找到要单击的区域

时间:2019-01-23 19:11:12

标签: javascript events c3.js double-click stacked-area-chart

我在c3.js中有一个堆积面积图表,并且我试图创建一个doubleclick事件,该事件将告诉我单击图表的哪个区域。

我设法弄清楚如何获得该脚本,以查看此脚本单击了哪个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也正在通过所有三个区域。

0 个答案:

没有答案