Javascript 将曲线悬停在任意点上时,工具提示将显示第一个点

Javascript 将曲线悬停在任意点上时,工具提示将显示第一个点,javascript,highcharts,Javascript,Highcharts,当我将曲线悬停在任意点上时,工具提示将显示第一个点。我已经尽了最大努力找到解决方法,但失败了 下面是我的鼠标放在图表中间时的捕获: 还有另一个问题:我的highcharts是一个动态图表,当有新数据产生时,它将被动态添加到图表中。但当添加到图表中时,它是从第一点开始添加的,而不是从最后一点。下面是我的捕获: 以下是配置的图表: <script type="text/javascript" src='@Url.Content("~/Scripts/jquery-1.6.min.js")'

当我将曲线悬停在任意点上时,工具提示将显示第一个点。我已经尽了最大努力找到解决方法,但失败了

下面是我的鼠标放在图表中间时的捕获:

还有另一个问题:我的highcharts是一个动态图表,当有新数据产生时,它将被动态添加到图表中。但当添加到图表中时,它是从第一点开始添加的,而不是从最后一点。下面是我的捕获:

以下是配置的图表:

<script type="text/javascript" src='@Url.Content("~/Scripts/jquery-1.6.min.js")'></script>
<script src='@Url.Content("~/Scripts/highstock.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Scripts/exporting.js")'type="text/javascript"></script>

<div id="T">
</div>

<script type="text/javascript">
    var T_chart;
    var T_options;
    var T1_data = [];
    var T2_data = [];

    T_options = {
    chart: {
        renderTo: 'T',      
        type: 'spline'     
    },
    navigator:{
        enabled:false        
    },
    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'day',
            text: 'Day'
        }, {
            count: 1,
            type: 'week',
            text: 'Week'
        }, {
            count: 1,
            type: 'month',
            text: 'Month'
        }, {
            count: 1,
            type: 'year',
            text: 'Year'
        }, {
            type: 'all',
            text: 'All'
        }],
        selected: 0          
    },
    title: {
        text: 'Temperature Chart'    
    },
    exporting: {
        enabled: false       
    },
    credits: {
        enabled: false     
    },
    yAxis: {
        labels: {
            x: -10,        
            y: 0
        }
    },
    series: []
};

function draw_chart() {
    storenum = $(".StoreNum").val();     
    $.getJSON("HisGraData", { storenum: storenum }, function (data) {
        $.each(data, function (index, item) {
            //Date Format
            var date = new Date(parseInt((item.Time).replace("/Date(", "").replace(")/", "").split("+")[0]));

            T1_data.push([Date.parse(date.toString()), item.T1]);
            T2_data.push([Date.parse(date.toString()), item.T2]);
        });

        T_options.series.push({ name: 'T1', data: T1_data });
        T_options.series.push({ name: 'T2', data: T2_data }); 

        T_chart = new Highcharts.StockChart(T_options);
    });
}

var T_图;
var T_期权;
变量T1_数据=[];
变量T2_数据=[];
T_选项={
图表:{
renderTo:'T',
类型:“样条线”
},
导航器:{
已启用:false
},
范围选择器:{
按钮:[{
计数:1,
键入:'天',
文字:“一天”
}, {
计数:1,
键入:“周”,
文字:“一周”
}, {
计数:1,
键入:“月”,
文字:“月份”
}, {
计数:1,
类型:'年',
正文:“年”
}, {
键入:“全部”,
文字:“全部”
}],
已选:0
},
标题:{
文字:“温度图”
},
出口:{
已启用:false
},
学分:{
已启用:false
},
亚克斯:{
标签:{
x:-10,
y:0
}
},
系列:[]
};
函数绘制图(){
storenum=$(“.storenum”).val();
$.getJSON(“HisGraData”,{storenum:storenum},函数(数据){
$。每个(数据、功能(索引、项目){
//日期格式
var date=新日期(parseInt((item.Time).replace(“/date(“,”).replace(“)/”,“).split(“+”[0]);
T1_data.push([Date.parse(Date.toString()),item.T1]);
T2_data.push([Date.parse(Date.toString()),item.T2]);
});
T_options.series.push({name:'T1',data:T1_data});
T_options.series.push({name:'T2',data:T2_data});
T_图表=新的高点图表。股票图表(T_选项);
});
}

我已经解决了。原因是我没有按x升序排序数据。我只按降序排序并得到最新数据,但在得到最新数据后,我没有按升序排序,因此出现了上述两个问题。特别感谢Sebastian Bochan,也感谢帮助我的人。再次感谢你的数据,你的JSFIDLE不起作用。您的数据应该按x升序排序。x是datime,我按x降序排序,但为什么它可以正确地显示在图形中?