Как мы можем добавить всплывающую подсказку к названию серии Amcharts?

#javascript #an&ular #amcharts #amcharts4

#javascript #an&ular #amcharts #amcharts4

Вопрос:

Как добавить всплывающую подсказку при наведении курсора мыши на название серии Amchart. (Хотите добавить всплывающую подсказку при наведении курсора мыши на выделенную область на прилагаемом скриншоте).

Добавление названия серии, например :

 let series = chart.series.push(new am4charts.LineSeries());
series.name = q1.seriesName;
  

Спасибо!

Ответ №1:

Вот способ. Я не знаю, почему нужно использовать setTimeout . Без этого values массив пуст при загрузке диаграммы.

 chart.le&end = new am4charts.Le&end();
setTimeout(function() {
  chart.le&end.itemContainers.values[0].tooltipText = 
    "The [bold {color}]{name}[/] series is awesome!";
  chart.le&end.itemContainers.values[1].tooltipText = 
    "The [bold {color}]{name}[/] series is cool!";
  chart.le&end.itemContainers.values[2].tooltipText = 
    "The [bold {color}]{name}[/] series is nice!";
}, 500);
  

Комментарии:

1. Тайм-аут необходим, потому что amCharts создает все асинхронно. Если вы хотите установить значение по умолчанию для всех itemContainers, используйте шаблон, например chart.le&end.itemContainers.template.tooltipText = "[bold {color}]{name}[/] " . Если вы хотите установить отдельные значения без таймаута, используйте вместо этого событие ready ( chart.events.on('ready', () =&&t; { chart.le&end.itemContainers.each((container) =&&t; { container.tooltipText = "..." } ) }) ). Обратите внимание, что это values доступно только для чтения и не должно управляться напрямую — используйте each или for ... of .

2. Спасибо @Stephane. Решение сработало отлично!

3. И спасибо @xorspark, я добавил этот код в раздел chart.events.on(‘ready’, () =&&t;{