鼠标悬停时显示错误的标签值 - Chart.JS
Wrong label value is displayed on point hover - Chart.JS
当您将鼠标悬停在折线图上时,工具提示会显示错误的 x 轴标签值。我使用的是最新版本 Chart.JS 2.8.0
这是fiddle:https://jsfiddle.net/2mq1vt0o/
这是显示数据集中的所有数据:
https://imgur.com/a/EMbiejk
当我更改数据范围时,例如从 05-01-2018
https://imgur.com/a/SXr6ymv
如您所见,该线位于正确的位置,但是当我将鼠标悬停在该点时,它显示的标签是标签中的第一个值,该标签是错误的,因为它应该显示 06-01-2018。
{
"data": {
"datasets": [
{
"borderColor": "rgba(74,118,12,1.000)",
"data": [
{
"x": "2018-01-06",
"y": 0.242
},
{
"x": "2018-01-07",
"y": 0.197
},
{
"x": "2018-01-08",
"y": 0.15
},
{
"x": "2018-01-09",
"y": 0.15
},
{
"x": "2018-01-10",
"y": 0.15
},
{
"x": "2018-01-11",
"y": 0.137
},
{
"x": "2018-01-12",
"y": 0.11
},
{
"x": "2018-01-13",
"y": 0.11
},
{
"x": "2018-01-14",
"y": 0.21
},
{
"x": "2018-01-15",
"y": 0.273
},
{
"x": "2018-01-16",
"y": 0.3
},
{
"x": "2018-01-17",
"y": 0.237
}
],
"label": "onlydoe",
"fill": false,
"pointRadius": 5
}
],
"labels": [
"2018-01-05",
"2018-01-06",
"2018-01-07",
"2018-01-08",
"2018-01-09",
"2018-01-10",
"2018-01-11",
"2018-01-12",
"2018-01-13",
"2018-01-14",
"2018-01-15",
"2018-01-16",
"2018-01-17"
]
},
"options": {
"hover": {
"mode": "x"
}
},
"type": "line"
}
我希望当我将鼠标悬停在一个点上时它会显示正确的 X 轴值。
嗯,我认为这是因为您没有指定 xAxis 类型,所以请尝试添加这个(到您的选项):
"scales": {
xAxes: [{
type: "time"
}]
}
这里是一个例子(https://jsfiddle.net/z8xLspd7/1/):
如果你想格式化那些当你悬停在点上时出现的时间值,以便更用户友好,只需添加这个(到你的选项):
responsive:true,
"scales": {
xAxes: [{
type: "time",
time:{
format: timeFormat,
tooltipFormat: 'll'
},
scaleLabel: {
display: true,
labelString: 'Date'
}
}]
}
这是一个例子(https://jsfiddle.net/z8xLspd7/2/):
当您将鼠标悬停在折线图上时,工具提示会显示错误的 x 轴标签值。我使用的是最新版本 Chart.JS 2.8.0
这是fiddle:https://jsfiddle.net/2mq1vt0o/
这是显示数据集中的所有数据: https://imgur.com/a/EMbiejk
当我更改数据范围时,例如从 05-01-2018 https://imgur.com/a/SXr6ymv
如您所见,该线位于正确的位置,但是当我将鼠标悬停在该点时,它显示的标签是标签中的第一个值,该标签是错误的,因为它应该显示 06-01-2018。
{
"data": {
"datasets": [
{
"borderColor": "rgba(74,118,12,1.000)",
"data": [
{
"x": "2018-01-06",
"y": 0.242
},
{
"x": "2018-01-07",
"y": 0.197
},
{
"x": "2018-01-08",
"y": 0.15
},
{
"x": "2018-01-09",
"y": 0.15
},
{
"x": "2018-01-10",
"y": 0.15
},
{
"x": "2018-01-11",
"y": 0.137
},
{
"x": "2018-01-12",
"y": 0.11
},
{
"x": "2018-01-13",
"y": 0.11
},
{
"x": "2018-01-14",
"y": 0.21
},
{
"x": "2018-01-15",
"y": 0.273
},
{
"x": "2018-01-16",
"y": 0.3
},
{
"x": "2018-01-17",
"y": 0.237
}
],
"label": "onlydoe",
"fill": false,
"pointRadius": 5
}
],
"labels": [
"2018-01-05",
"2018-01-06",
"2018-01-07",
"2018-01-08",
"2018-01-09",
"2018-01-10",
"2018-01-11",
"2018-01-12",
"2018-01-13",
"2018-01-14",
"2018-01-15",
"2018-01-16",
"2018-01-17"
]
},
"options": {
"hover": {
"mode": "x"
}
},
"type": "line"
}
我希望当我将鼠标悬停在一个点上时它会显示正确的 X 轴值。
嗯,我认为这是因为您没有指定 xAxis 类型,所以请尝试添加这个(到您的选项):
"scales": {
xAxes: [{
type: "time"
}]
}
这里是一个例子(https://jsfiddle.net/z8xLspd7/1/):
如果你想格式化那些当你悬停在点上时出现的时间值,以便更用户友好,只需添加这个(到你的选项):
responsive:true,
"scales": {
xAxes: [{
type: "time",
time:{
format: timeFormat,
tooltipFormat: 'll'
},
scaleLabel: {
display: true,
labelString: 'Date'
}
}]
}
这是一个例子(https://jsfiddle.net/z8xLspd7/2/):