Да, это вполне возможно.
Во-первых, чтобы настроить цвет фона всплывающей подсказки , вам нужно убить поведение по умолчанию при получении информации о цвете от вызывающего объекта (в этом случае он получает fill
из серии ). Это сделано через:
series.tooltip.getFillFromObject = false;
Затем, чтобы настроить фон:
series.tooltip.background.fill = // color here
Чтобы переключить цвет фона на основе значения, которое он показывает, мы можем сделать это одним из способов - использовать адаптер для серии 'tooltipText
, потому что, когда это срабатывает, мы знаем, что отображается подсказка и / или меняется. Там мы можем определить текущий источник dataItem
, проверить значение и соответствующим образом настроить фон подсказки fill
.
Пример кода:
series.tooltip.getFillFromObject = false;
series.tooltip.background.fill = "blue";
series.adapter.add("tooltipText", function(tooltipText) {
if (series.tooltipDataItem.dataContext.visits < 0) {
series.tooltip.background.fill = "red";
} else {
series.tooltip.background.fill = "blue";
}
return tooltipText;
});
Демо-версия:
https://codepen.io/team/amcharts/pen/913514e19a189c8779e07ffcae861ce3