#charts #nvd3.js
#Диаграммы #nvd3.js
Вопрос:
Чтобы обрабатывать клики по фрагментам круговой диаграммы NVD3, вы можете сделать следующее:
var chart = nv.models.pieChart()
...
chart.pie.dispatch.on("elementClick", function(e) {
var pie_sector_name = e.data.label;
// do something;
});
Тем не менее, я получаю клики, когда выбраны фрагменты круга. Возможно ли обрабатывать клики, когда выбраны метки диаграммы? Кусочки пирога иногда могут быть настолько крошечными, что на них невозможно щелкнуть.
Спасибо.
Ответ №1:
d3.selectAll(".nv-pieLabels").on("click", function () {
alert("clicked");
});
Комментарии:
1. Когда создается круговая диаграмма, ее метки имеют класс ‘nv-pieLavels’ (элементы ‘g’ в диаграмме ‘svg’). Вы можете выбрать их с помощью селектора d3 и обработать событие щелчка. По какой-то причине у меня это не работает:(
2. Дело в том,
d3.selectAll(".nv-series")
что работает (для элементов легенды), аd3.selectAll(".nv-pieLabels")
(для меток диаграмм) нет. Странно