【发布时间】:2019-02-15 19:18:07
【问题描述】:
Iv 设置了自定义 onClick 事件以使用“假组”隐藏热图中的列。一切正常,只要您等到动画完成,然后再单击 yearSlicer 中的另一年。在加载完成之前点击会导致不需要的结果。
假组:
function filter_bins(source_group, f) {
return {
all: function () {
return source_group.all().filter(function (d) {
return f(d.value);
});
}
};
}
var filtered_years_group = filter_bins(FTEMonthGroup, function (d) {
return yearsHidden.length == 0 ? !yearsHidden.includes(d.Year) : yearsHidden.includes(d.Year);
});
yearSlicer onClick:
yearSlicer.on("renderlet.somename", function (chart) {
chart.selectAll('rect').on("click", function (d) {
hideYear(d.key);
return chart._onClick(d)
});
});
设置隐藏年份:
var yearsHidden = [];
var hideYear = function (year) {
var index = yearsHidden.indexOf(year);
if (index === -1) {
yearsHidden.push(year);
} else {
yearsHidden.splice(index, 1);
}
heatMap.redraw();
}
【问题讨论】:
标签: javascript d3.js dc.js