Javascript 工具提示图表中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

我正在努力寻找一种方法,在当前Y值的工具提示中返回图表中的上一个Y值。我的想法是,我想执行这个.y-这个.y-1的动作,得到这个.y-1的值,然后找出当前值和之前的值之间的差异。理想情况下,这将出现在图表中每个值的工具提示中

我的代码如下:

<!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;
    }
},