#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;{