我有一个包含多个数据点/线的图表。当前,如果您将鼠标悬停在数据点附近,它将显示该点的标签/值。
我想要的是以下内容:当您将鼠标悬停在图表上的任何位置时,它将在单个标签中同时显示该x值处所有数据点的标签+值。
例如,让我们以给定的数据集为例:
Date (x-labels): ['Jan 01','Jan 02','Jan 03']
Apples Sold: [3,5,1]
Oranges Sold: [0,10,2]
Gallons of Milk Sold: [5,7,4]
当您将鼠标悬停在图表中间的“Jan 02”垂直空间上方时,标签应显示:
Jan 02
-----------------------
Apples Sold: 5
Oranges Sold: 10
Gallons of Milk Sold: 7
有没有一个简单的方法可以做到这一点?
谢谢
6条答案
按热度按时间wi3ka0sx1#
有没有一个简单的方法可以做到这一点?
是的!!有一个非常简单的方法来实现这一点。如果你读过文档,你会很容易地发现这一点。
无论如何,基本上你需要在图表选项中将 tooltips mode 设置为**
index
**,以实现你想要的行为。此外,您可能需要设置以下内容:
这将使所有预期的悬停/标签交互在悬停在图形上最接近的x值处的任何位置时发生。
来自文档:
#索引
查找同一索引处的项。如果intersect设置为true,则使用第一个相交项确定数据中的索引。如果intersect为false,则使用x方向上最近的项来确定索引。
下面是一个工作示例:
deikduxw2#
对于Chart.js 3.3.2,您可以使用@baburao的方法,但需要做一些修改。您可以查看documentation。将
tooltip
放入plugins
中。示例:omjgkv6w3#
我知道这是一篇老文章,但在一段时间里,我需要在多个数据集上划分一个条形,但标签要保留为原始值:
例如:
在我的图表中,我想显示“
Totals
”条,并将其一部分用红色/蓝色或“其余部分”(这是Totals
颜色)着色。我不会编写修改数据集的代码,但我会完成chartjs v3+
的@busterroni答案yizd12fk4#
您可以在绘制如下数据后实现此目标:HTML
CSS
JavaScript
或chk this fiddle https://jsfiddle.net/gqozfb4L/
cgvd09ve5#
我使用“chart.js”:“^4.2.1”,这对我来说是有效的:
mode:'nearest'
将不起作用,因为它将仅显示最近点,而不是特定x轴的所有点
91zkwejq6#
您可以尝试使用JavaScript来跟踪用户鼠标,并根据位置返回该顶点的数据。