单个 LineSeries 的 AmCharts 4 工具提示负色和正色
AmCharts 4 tooltip negtive and positive color of single LineSeries
https://www.amcharts.com/demos/date-based-line-chart/
上面有一个 LineSeries 图表,带有不同线条颜色的正值和负值,但工具提示只有负值颜色。
是否可以让正线具有不同颜色的工具提示,而负线具有另一种工具提示颜色?
是的,完全有可能。
首先,对于 adjust the background color of a tooltip,您需要取消其从调用对象获取颜色信息的默认行为(在本例中它从系列中获取 fill
)。这是通过以下方式完成的:
series.tooltip.getFillFromObject = false;
然后调整背景:
series.tooltip.background.fill = // color here
要根据其显示的值切换其背景颜色,我们可以使用 adapter 作为系列的 tooltipText
,因为当它触发时我们知道工具提示是正在显示 and/or 变化。在那里我们可以检测到当前 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
https://www.amcharts.com/demos/date-based-line-chart/
上面有一个 LineSeries 图表,带有不同线条颜色的正值和负值,但工具提示只有负值颜色。
是否可以让正线具有不同颜色的工具提示,而负线具有另一种工具提示颜色?
是的,完全有可能。
首先,对于 adjust the background color of a tooltip,您需要取消其从调用对象获取颜色信息的默认行为(在本例中它从系列中获取 fill
)。这是通过以下方式完成的:
series.tooltip.getFillFromObject = false;
然后调整背景:
series.tooltip.background.fill = // color here
要根据其显示的值切换其背景颜色,我们可以使用 adapter 作为系列的 tooltipText
,因为当它触发时我们知道工具提示是正在显示 and/or 变化。在那里我们可以检测到当前 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