gpt4 book ai didi

javascript - Highcharts - 在点击时显示工具提示而不是悬停

转载 作者:行者123 更新时间:2023-11-30 00:09:29 24 4
gpt4 key购买 nike

我已经尝试了 https://stackoverflow.com/a/24206104/5653279 的解决方案但无济于事,因为我的 Highcharts 包含 2 个系列的数据。

按照上述解决方案返回错误

Uncaught TypeError: Cannot read property 'category' of undefined

$(function () {
$('#container').highcharts({
chart: {
type: 'spline',
zoomType: 'xy',
events: {
load: function(){
this.myTooltip = new Highcharts.Tooltip(this, this.options.tooltip);
}
}
},
tooltip: {
enabled: false,
headerFormat: '<b>{point.x: %A, %b %e at %I:%M %p}</b><br>',
shared: true,
borderRadius: 10,
crosshairs: [true, false] //x,y
},
plotOptions: {
series: {
stickyTracking: false,
events: {
click: function(evt) {
this.chart.myTooltip.refresh(evt.point, evt);
},
mouseOut: function() {
this.chart.myTooltip.hide();
}
}
}
},
title: {
text: 'Glucose/Carbohydrate'
},
subtitle: {
text: 'Ratio between Glucose and Glucose'
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
month: '%e/%b',
},
title: {
text: 'Date'
}
},
yAxis: [{ // Glucose yAxis
labels: {
format: '{value}mmol/L',
style: {
color: Highcharts.getOptions().colors[0]
}
},
title: {
text: 'Glucose',
style: {
color: Highcharts.getOptions().colors[0]
}
}
}, { // Carbohydrate yAxis
title: {
text: 'Carbohydrate',
style: {
color: Highcharts.getOptions().colors[1]
}
},
labels: {
style: {
color: Highcharts.getOptions().colors[1]
}
},
opposite: true
}],
series: [{
name: 'Glucose',
data: glucose,
marker: {
enabled: true
},
tooltip: {
valueSuffix: ' mmol/L'
}
},{
name: 'Carbohydrate',
data: carbohydrate,
dashStyle: 'shortdot',
yAxis: 1,
marker: {
enabled: true
}
}
]}
);
});

但是,如果我按所见编辑 plotOptions,错误将“解决”。

plotOptions: {
series: [{
stickyTracking: false,
events: {
click: function(evt) {
this.chart.myTooltip.refresh(evt.point, evt);
},
mouseOut: function() {
this.chart.myTooltip.hide();
}
}
},
{
stickyTracking: false,
events: {
click: function(evt) {
this.chart.myTooltip.refresh(evt.point, evt);
},
mouseOut: function() {
this.chart.myTooltip.hide();
}
}
}]
},

但是,当我点击任何一点时,工具提示仍然没有显示。

最佳答案

解决了问题!

刚改

this.chart.myTooltip.refresh(evt.point, evt);

this.chart.myTooltip.refresh([evt.point], evt);

但此修复的唯一限制是如果有多个系列(例如 A 和 B 行)并且两个系列的数据落在同一 X 轴上(例如同一日期),单击它只会显示该特定系列数据的工具提示(如果我点击系列 A 的数据,工具提示仅显示 A 的数据而没有 B,即使它们共享相同的 X 轴)。

关于javascript - Highcharts - 在点击时显示工具提示而不是悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com