Таблица с тремя сериями. Я показываю текст всплывающей подсказки только для одного из них и включаю значения из всех трех в одну всплывающую подсказку. Необработанные значения работают, ссылаясь на них по их имени, но не работают для вычисления процентов. У меня для calculatePercent
установлено значение true для всех трех серий.
series3.tooltipText = "[bold]Active : [/]{Active.formatDuration()} ({Active.percent.formatNumber('#.0')}%)\n[bold]Idle : [/]{Idle.formatDuration()} ({Idle.percent.formatNumber('#.0')}%)\n[bold]Total : [/]{Total.formatDuration()} ({Total.percent.formatNumber('#.0')}%)";
Записи ???.formatDuration()
отображаются нормально, а ???.percent.formatNumber('#.0')}
- нет. Я понимаю, что могу использовать valueY в качестве имени, которое работает, но только для серии, в которой оно вызывается (серия 3). Я хотел бы показать процентные значения из других серий (1 и 2), а также в tooltipText серии 3. Есть ли способ обойти это?
На amcharts github мне посоветовали следующее, потому что «диаграмма вычисляет производные значения только для полей данных серии» - что объясняет, почему вызов их по имени не работает для вычисления процентов, но без примера потеряны:
Единственный обходной путь - использовать адаптер для tooltipText, который будет обращаться к target.dataItem.dataContext (это необработанные данные), а затем вычислять их значений и форматирования содержимого всплывающей подсказки.
Другой вариант - прокрутить ряды в адаптере tooltipText, найти их элементы данных для указанной c даты, а затем получить предварительно рассчитанное процентное значение.
Я считаю, что могу использовать что-то вроде этих строк:
series3.adapter.add("tooltipText", function (text, target, key) {
return "test text";
});
хотя не знаю, как получить доступ к данным диаграммы, которые мне нужны, чтобы создать строку возврата с тем, что я хочу.
Ссылка играть: https://jsfiddle.net/5v3L2nho/