我在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
也正在通过所有三个区域。