当我将曲线悬停在任何点上时,工具提示将显示第一个点

时间:2013-09-25 07:58:39

标签: javascript highcharts

当我将曲线悬停在任意点上时,工具提示将显示第一个点。我已尽力找到答案来解决它,但失败了。

下面的捕获是我的鼠标放在图表的中间位置: enter image description here

还有另一个问题:我的highcharts是一个实时图表,当有新数据产生时,它会动态地添加到图表中。但是当添加到图表时,它从第一点添加,而不是最后一点.Below是我的捕获:

enter image description here 下面是图表配置:

<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);
    });
}

1 个答案:

答案 0 :(得分:0)

我已经解决了。原因是我没有按x,升序对数据进行排序。我只按降序排序并获取最新数据,但在获取最新数据后,我没有按升序排序,所以它发生了如上所述的两个问题。特别感谢Sebastian Bochan,也感谢帮助我的人们。再次感谢