如果 xUnits 不是 dc.units.ordinal,条形图中的可点击条形

Clickable bars in bar charts if xUnits is not dc.units.ordinal

dc.js 仅允许序数值的可点击条形图 来自 dc.js:

if (_chart.isOrdinal()) bars.on("click", _chart.onClick);

我尝试了以下并得到了 Uncaught TypeError: Cannot read 属性 'isFiltered' of undefined at dc.js

chart.renderlet(function(_chart){ _chart.selectAll("rect.bar").on("click", _chart.onClick); });

https://github.com/dc-js/dc.js/issues/168 建议实现自定义 onClick 处理程序,但我不确定其内容应该是什么。

听说这个错误已经有一段时间了,终于找到了。使用 .on("click", _chart.onClick) 的建议通常是好的,但由于某种原因,条形图的 onClick 版本变得私有,它被打破了。 (有关详细信息,请参阅我在上述问题中的评论。)

两种可能的解决方案:

  1. 像这样定义你的 renderlet(hacky 解决方法): chart.renderlet(function(_chart){ _chart.selectAll("rect.bar").on("click", function(d) { _chart.onClick(d.data); }); });
  2. 更新至 dc.js 2.0.0-beta.4,此问题已修复,您发布的原始代码应该可以使用。