nvd3 中的事件处理
Event Handling in nvd3
我正在使用 nvd3 并尝试在单击图表时添加事件处理。但是我在实施它时遇到了一些问题,由于缺少 nvd3 的文档,我无法获得解决方案。我按照这个 link,但我仍然在控制台中收到以下错误:
ReferenceError: chart is not defined
任何人都可以告诉我我遗漏了什么或 nvd3 中事件处理的任何最佳解决方案。
可能你的问题是图形变量的名称;
我给你做了一个fiddle。
在我的示例中,"chart" 是图形变量的名称。检查你的情况也是一样的。
var chart = nv.models.multiBarChart();
无论如何,fiddle你可以看到完整的代码。如果您单击某个项目,您可以在控制台中看到消息。
按照佐丹奴的建议,我查找了图的名称和调度事件。然后我在这样的选项中添加了这些事件监听器。
注意:此解决方案适用于 nvd3 和 angular。
$scope.options2 = {
chart: {
type: 'pieChart',
height: 500,
x: function(d){return d.key;},
y: function(d){return d.y;},
showLabels: true,
duration: 500,
labelThreshold: 0.01,
labelSunbeamLayout: true,
legend: {
margin: {
top: 5,
right: 35,
bottom: 5,
left: 0
}
},
pie:{
dispatch: {
elementClick : function(e){
console.log('element: ' + e.value);
console.log(e);
}
}
}
}
};
希望这对其他人也有帮助。
我正在使用 nvd3 并尝试在单击图表时添加事件处理。但是我在实施它时遇到了一些问题,由于缺少 nvd3 的文档,我无法获得解决方案。我按照这个 link,但我仍然在控制台中收到以下错误:
ReferenceError: chart is not defined
任何人都可以告诉我我遗漏了什么或 nvd3 中事件处理的任何最佳解决方案。
可能你的问题是图形变量的名称; 我给你做了一个fiddle。 在我的示例中,"chart" 是图形变量的名称。检查你的情况也是一样的。
var chart = nv.models.multiBarChart();
无论如何,fiddle你可以看到完整的代码。如果您单击某个项目,您可以在控制台中看到消息。
按照佐丹奴的建议,我查找了图的名称和调度事件。然后我在这样的选项中添加了这些事件监听器。
注意:此解决方案适用于 nvd3 和 angular。
$scope.options2 = {
chart: {
type: 'pieChart',
height: 500,
x: function(d){return d.key;},
y: function(d){return d.y;},
showLabels: true,
duration: 500,
labelThreshold: 0.01,
labelSunbeamLayout: true,
legend: {
margin: {
top: 5,
right: 35,
bottom: 5,
left: 0
}
},
pie:{
dispatch: {
elementClick : function(e){
console.log('element: ' + e.value);
console.log(e);
}
}
}
}
};
希望这对其他人也有帮助。