Amcharts 4,xychart,限制工具提示的数量并将信息合并到一个工具提示中

时间:2018-12-05 23:56:27

标签: tooltip amcharts

我正在使用amcharts 4来显示温度线。有时站点很多,所以我只希望有一个工具提示,只是想显示光标所在的值,而不是每行都有一个工具提示(因为这样它们会重叠并且有些不可读)。

multiple tooltips

可能会有几个温度相同的站点,因此我必须在工具提示中列出所有站点。

有人知道如何实现吗?

在amcharts 3中,我使用了附在图表上的BalloonFunction来创建自己的工具提示。但是我仍然找不到在amcharts 4中的系列如何做。

感谢提示!

2 个答案:

答案 0 :(得分:1)

如果系列的数据点具有不同的x值,则不可能将所有信息组合到一个工具提示中。

但是,如果它们确实具有相同的x值,则可以仅打开以下系列之一的工具提示:

...,
series: [{
    type: "LineSeries",
    tooltipHTML: `xxx`,
    ...
}, {
    type: "LineSeries",
    ...
}, {
    type: "LineSeries",
    ...
}],
...

在工具提示HTML中,您可以访问数据:

...,
tooltipHTML: `
    <strong>Year: </strong>{year}<br />
    <strong>Cars: </strong>{cars}<br />
    <strong>Motorcycles: </strong>{motorcycles}<br />
    <strong>Bicycles: </strong>{bicycles}
`,
...

enter image description here

演示: http://jsfiddle.net/davidliang2008/aq9Laaew/286519/

答案 1 :(得分:1)

因此,正如David Liang提到的那样,由于所有数据项都沿其x轴值(在这种情况下为日期时间)收敛,因此您可以通过仅设置一个系列'tooltipText将工具提示限制为一个,这样,可以通过data placeholders访问其余数据字段。例如。即使series1的{​​{1}}字段是value,也可以通过放置E852_t4m来使用series30的值。

但是,如果要根据所悬停的行提供工具提示,该如何操作取决于是否需要图表光标。

如果不需要,只需在该行的项目符号上设置"{median_tBel}",例如

tooltipText

以下是your fiddle的演示:

https://codepen.io/team/amcharts/pen/803515896cf9df42310ecb7d8d7a2fb7

但是,如果您需要Chart Cursor,则不幸的是目前没有受支持的选项。有一种解决方法,但这不是最好的体验。您首先要进行上述操作。图表光标将触发所有线条及其项目符号上的悬停效果,包括触发其工具提示。项目符号的工具提示实际上是它的系列”(series1.bullets.getIndex(0).tooltipText = "{name} {valueY}°C"; )。如果我们删除对项目符号工具提示的引用,例如series1.bulletsContainer.children.getIndex(0).tooltip === series1.tooltip,图表将检查链条并始终引用系列。如果我们对序列'series1.bullets.getIndex(0).tooltip = undefined;执行相同操作,则会上链至tooltip,如果对所有序列都执行此操作,则基本上将chart.tooltip转换为排序。但这对鼠标悬停的响应不那么

您将了解此演示的意思:

https://codepen.io/team/amcharts/pen/244ced223fe647ad6df889836da695a8

哦,也是在上面,您必须使用以下命令调整图表的工具提示以显示在项目符号的左侧/右侧:

chart.tooltip

编辑:

Since the first method sufficed, I've updated itadapter,用于检查范围内的其他字段。在适配器中,chart.tooltip.pointerOrientation = "horizontal"; 将是targetCircleBullet是当前悬停的值,而target.dataItem.valueY是同一日期的其他字段。

这是我修改target.dataItem.dataContext来显示当前悬停的项目符号+/- 0.5C范围内的其他系列的方法:

tooltipText