Javascript 工具提示图表中Y值减1
我正在努力寻找一种方法,在当前Y值的工具提示中返回图表中的上一个Y值。我的想法是,我想执行这个.y-这个.y-1的动作,得到这个.y-1的值,然后找出当前值和之前的值之间的差异。理想情况下,这将出现在图表中每个值的工具提示中 我的代码如下:Javascript 工具提示图表中Y值减1,javascript,highcharts,Javascript,Highcharts,我正在努力寻找一种方法,在当前Y值的工具提示中返回图表中的上一个Y值。我的想法是,我想执行这个.y-这个.y-1的动作,得到这个.y-1的值,然后找出当前值和之前的值之间的差异。理想情况下,这将出现在图表中每个值的工具提示中 我的代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <s
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/data.js"></script>
<div id="container" style="height: 500px; min-width: 310px"></div>
<script type="text/javascript">
$(function () {
$.get("data.csv", function (csv) {
$('#container').highcharts('StockChart', {
title: {
text: 'Testing HighCharts'
},
data: {
csv: csv
},
rangeSelector: {
selected: 1
},
tooltip: {
formatter:function(){
return '<b>Date:</b> ' + Highcharts.dateFormat('%B %e %Y', this.x) + '<br>' + '<b>Amount:</b> ' + this.y + '<br>';
}
},
plotOptions: {
series: {
marker: {
enabled: true,
fillColor: 'FFFFFF',
radius: 4
},
allowPointSelect: true,
color: '#CC0000',
width: 3
}
}
});
});
});
</script>
</head>
</html>
您需要在工具提示格式化程序中使用this.point对象的索引和系列属性
以下是演示:嗨,Alex,在fiddler示例中,它的效果非常出色,这正是我想要的。似乎在我的服务器上,当我更改代码时,它会出现以下错误:TypeError:无法读取未定义的属性“index”。似乎没有设置点:/n知道原因吗?可能是上下文错误,也可能是不同的数据或params对象中的更改导致错误。或不同的图书馆版本。谢谢!通过调试对象发现错误,正确路径为:this.points[0].point.index和this.points[0].point.series.data[i-1].y
tooltip: {
formatter:function(){
var diffText = '',
i = this.point.index;
if (i > 0) {
diffText = '<br><b>Difference: </b>' + (this.y - this.point.series.data[i-1].y);
}
return '<b>Date:</b> ' + Highcharts.dateFormat('%B %e %Y', this.x) + '<br>' + '<b>Amount:</b> ' + this.y + '<br>' + diffText;
}
},