NVD3:如何从工具提示或图例中获取值而不是标签?

时间:2013-08-04 00:20:11

标签: d3.js label tooltip legend nvd3.js

  • 使用标签的问题是,如果切片太小,标签不会显示,因此,在onClick事件期间获取标签值会失败

  • 问题在此处转载http://plnkr.co/edit/3rCHWnxW7EFPXxWHLo96?p=preview。你会看到 Taxes 标签缺失,因此我无法在click事件中获得它的价值 enter image description here

什么会很棒?

  • 如果我可以从工具提示或图例而不是标签中获取值,因为标签不是获取值的好主意
  • 因为我传递了标签onclick的值以显示其他图形

enter image description here

1 个答案:

答案 0 :(得分:3)

在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__传递给点击功能,您可以使用d访问该功能。这应该可以解决您的问题。您还可以在该函数中抛出console.log(d)以查看__data__对象上的所有可用选项。