Сделать серию скрыть и показать, нажав на AmChart4 - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь реализовать это на AmChart4

Отображение только одного графика при нажатии на маркер легенды.

Используется clickMarker / clickLabel, однако, AmChart4 не обладает этим свойством.

Таким образом, я могу получить событие нажатия легенды в соответствии с этой страницей

  chart.legend.itemContainers.template.events.on("hit", function(ev) {
    console.log("Clicked on", ev.target);
    console.log(chart);
  });

А теперь как я могу получить серию диаграмм и скрыть / показать ??

1 Ответ

0 голосов
/ 18 ноября 2018

Вы можете получить название серии из ev.target.dataItem.dataContext.name, которое описано далее на той же странице.Вы можете использовать это и циклически перемещаться по массиву рядов диаграммы и вызывать show() или hide(), если необходимо, для совпадающих / не совпадающих рядов, аналогично демонстрации v3:

chart.legend.itemContainers.template.events.on("hit", function(ev) {
  var selectedSeries = ev.target.dataItem.dataContext.name;
  chart.series.values.forEach(function(series) {
    if (series.name === selectedSeries) {
      series.show();
    }
    else {
      series.hide();
    }
  })
});

Demo

...