使用标签的问题是,如果切片太小,标签不会显示,因此在 onClick 事件期间获取标签的值会失败
该问题在此处重现http://plnkr.co/edit/3rCHWnxW7EFPXxWHLo96?p=preview。您会看到Taxes缺少标签,因此我无法在点击事件中获得它的值
什么会很棒?
- 如果我可以从工具提示或图例而不是标签中获取值,因为标签不是获取值的好主意
- 因为我通过label onclick的值来显示其他图表
在 script.js 的第 144-145 行,您可以更改:
.on('click', function(){
var parentCategory = this.getElementsByClassName("nv-label")[0].textContent;
对此:
.on('click', function(d){
var parentCategory = d.data.label;
这样,您将__data__
被点击元素的 传递给 click 函数,您可以使用d
. 这应该可以解决您的问题。您还可以在该函数中抛出一个以查看对象console.log(d)
上可用的所有选项。__data__