AmCharts 4 Force Directed Chart - Выбор пузыря по родителю -> Дочернее местоположение - PullRequest
2 голосов
/ 26 июня 2019

Используя демонстрационную диаграмму, доступную на веб-сайте AmCharts ( здесь ), если я знаю родителя Phoebe и дочернего элемента David, как я могу программно получить пузырь David?

Моя цель - изменить заполнение пузыря, что я могу сделать в обработчике событий. Я просто не знаю, как выбрать программный элемент, который мне нужен, учитывая то, с чем мне приходится работать.

Редактировать: я понимаю, что могу просто пройти graph.data и изменить атрибут color, но я не могу вызвать graph.invalidateRawData(), так как это не вызывает изменения окраски (имеет смысл). Я действительно предпочел бы не заставлять полную перерисовку графа!

Спасибо!

1 Ответ

3 голосов
/ 26 июня 2019

Самый простой способ получить нужный узел - установить поле данных идентификатора (оно может совпадать с полем вашего имени) и использовать метод series.getDataItemById для извлечения элемента данных.

function changeColor(){
let dataItem = networkSeries.getDataItemById(networkSeries.dataItems, "Fifth");
dataItem.node.circle.fill = am4core.color("#00ff00");

// change color of all children
dataItem.children.each(function(child){
    child.node.circle.fill = am4core.color("#00ffff");
})
}

Вот демо: https://codepen.io/team/amcharts/pen/mZMYKx

Демонстрация также показывает, как получить доступ и изменить цвет всех дочерних элементов элемента данных.

...