Я хочу, чтобы моя круговая диаграмма была интерактивной, позволяя пользователю дважды щелкнуть по фрагменту, чтобы развернуть его. Я считаю, что способ сделать это - создать обработчик onclick на холсте и использовать getSegmentsAtEvent()
, чтобы определить, какой щелчок был нажат.Встроенный уникальный идентификатор в Chart.js сегментах?
Данные сегмента, возвращенные вызовом getSegmentsAtEvent()
, возможно, неоднозначны. Вот пример из возвращаемых данных:
[{
"circumference": 4.1887902047863905,
"endAngle": 8.901179185171081,
"fillColor": "#FF5A5E",
"highlightColor": "#FF5A5E",
"innerRadius": 0,
"label": "Red",
"outerRadius": 99.5,
"showStroke": true,
"startAngle": 4.71238898038469,
"strokeColor": "#fff",
"strokeWidth": 2,
"value": 300
}]
Из этих полей, только value
, fillColor
, highlightColor
и label
поставляются со мной, и ни один из них не обязательно являются уникальными. Я мог бы гарантировать, что label
уникален, но это может сделать его менее читаемым для людей.
Я попытался добавить дополнительное свойство (например, «id») в данные, которые я передаю в Pie()
, но он удаляется, когда я получаю данные сегмента от этого вызова. Есть ли способ добавить свойство к каждому сегменту, которое я могу использовать для позитивной идентификации, без перегрузки поля label
?
привет был ниже ответ, что вы искали? – Quince