Получение объекта из TreeMap - PullRequest
1 голос
/ 03 мая 2019

Я работал с несколькими графиками amCharts 4, и каждый раз я изо всех сил пытался подписаться на событие, которое возвращает элемент «выбрано / нажато».Я не знаю, что мне не хватало в документе, но, например, мне нужно извлечь выбранный элемент из события «Хит», но я нигде не могу найти (вот простое, я хотел бы попробовать этона https://codepen.io/team/amcharts/pen/erojQb)

var chart = am4core.create("chartdiv", am4charts.TreeMap);
chart.data = [{
  "name": "First",
  "value": 190
}, {
  "name": "Second",
  "value": 289
}, {
  "name": "Third",
  "value": 635
}, {
  "name": "Fourth",
  "value": 732
}, {
  "name": "Fifth",
  "value": 835
}];

/* Set color step */
chart.colors.step = 2;

/* Define data fields */
chart.dataFields.value = "value";
chart.dataFields.name = "name";

Я пробовал это:

chart.seriesTemplates.template.columns.events.on('hit', function(ev) {
  console.log('mlkmlz');
});

, но не вызывается, и это:

chart.seriesContainer.events.on('hit', function(ev) {
  console.log(ev.target.dataItem)
});

но dataItem не прикреплен

1 Ответ

2 голосов
/ 04 мая 2019

ОК, так что это немного сложнее, чем это.Чтобы прикрепить события, вам нужно создать серию для определенного уровня, а затем прикрепить события к шаблону столбца:

var series = chart.seriesTemplates.create("0");
series.columns.template.events.on('hit', function(ev) {
  console.log(ev.target.dataItem);
});
...