Javascript Highstock共享工具提示多个系列-不在点上时显示线的数据
将鼠标悬停在图表上时,工具提示将显示两个系列或仅显示列,这是因为列系列的分辨率(1小时)高于行(2小时) 我使用的图表有一个启用了步长的直线系列,我希望悬停在数据点上时的工具提示包含当前步长值(因为从上一点到下一点的值都相同)Javascript Highstock共享工具提示多个系列-不在点上时显示线的数据,javascript,jquery,highcharts,highstock,Javascript,Jquery,Highcharts,Highstock,将鼠标悬停在图表上时,工具提示将显示两个系列或仅显示列,这是因为列系列的分辨率(1小时)高于行(2小时) 我使用的图表有一个启用了步长的直线系列,我希望悬停在数据点上时的工具提示包含当前步长值(因为从上一点到下一点的值都相同) 在Highstock中可以这样做吗?您需要使用格式化程序来计算扩展步骤中的值,以解释较低的分辨率 文件: 例如: $(function () { $('#container').highcharts('StockChart', { tooltip: {
在Highstock中可以这样做吗?您需要使用格式化程序来计算扩展步骤中的值,以解释较低的分辨率 文件: 例如:
$(function () {
$('#container').highcharts('StockChart', {
tooltip: {
formatter: function () {
var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>';
$.each(this.points, function () {
s += '<br/>1 USD = ' + this.y + ' EUR';
});
return s;
}
},
rangeSelector: {
selected: 1
},
series: [{
name: 'USD to EUR',
data: usdeur
}]
});
$(函数(){
$(“#容器”).highcharts('StockChart'{
工具提示:{
格式化程序:函数(){
var s=''+Highcharts.dateFormat('%A,%b%e,%Y',this.x)+'';
$.each(this.points,function(){
s+='
1美元='+本年+'欧元';
});
返回s;
}
},
范围选择器:{
选定:1
},
系列:[{
名称:“美元兑欧元”,
数据:美元/欧元
}]
});
}))
另外,如果我能看到一个样本数据集(JSON),我就能够计算出来。JSFIDLE有一个随机生成的数据集,与我正在使用的数据集类似。列序列的分辨率为5分钟,然后是行序列的分辨率为1小时。基于一个简单的一维数组对象,我提出了以下循环来开始:
formatter:function(){var s;$.each(this.points,function(){s=this.series.data.indexOf(this.point)+this.series.data.indexOf(this.point-1)+this.series.data.indexOf(this.point-2);});返回s;},
$(function () {
$('#container').highcharts('StockChart', {
tooltip: {
formatter: function () {
var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>';
$.each(this.points, function () {
s += '<br/>1 USD = ' + this.y + ' EUR';
});
return s;
}
},
rangeSelector: {
selected: 1
},
series: [{
name: 'USD to EUR',
data: usdeur
}]
});