Highcharts addPoint功能什么都没有显示

时间:2015-10-02 21:01:47

标签: javascript jquery ajax highcharts

在第一种情况下,我为糟糕的英语道歉我是法国人:D

所以我最近试图在HighchartsJs上显示一些定时数据。

我尝试使用ajax接收数据,并且我创建了一个函数,添加了我想要的所有点。

但是当我尝试加载它时,我会看到光标上的信息,但没有显示任何一点! :/

这是我在AJAX请求上的成功函数:

    success: function(resultat){

                function addPoint(){

                    var chart = $('#graphResult').highcharts();

                    for(i in resultat){

                        chart.series[0].addPoint([Date.UTC(year, month, day, resultat[i]["time"].split(":")[0]), resultat[i]["value"]], true);

                    }   

                }

                $('#graphResult').highcharts({
                        chart: {
                            type: 'spline',
                            events: {
                                load: addPoint
                            }
                        },
                        title: {
                            text: 'Température du jour'
                        },
                        xAxis: {
                            type: 'datetime',
                            dateTimeLabelFormats: { // don't display the dummy year
                                minute: '%H:%M',
                                hour: '%H:%M',
                            },
                            title: {
                                text: 'Heure'
                            }
                        },
                        yAxis: {
                            title: {
                                text: 'Température (°C)'
                            },
                            min: 0
                        },
                        tooltip: {
                            headerFormat: '<b>{series.name}</b><br>',
                            pointFormat: '{point.y:.2f} °C'
                        },

                        plotOptions: {
                            spline: {
                                marker: {
                                    enabled: true
                                }
                            }
                        },

                        series: [{
                            name: "Température du " + String(day) + "/" + String(month) + "/" + String(year),
                        }]
                });

            }

如您所见,我有信息,但没有显示任何要点:http://puu.sh/kwfnV/ad6302810a.png

1 个答案:

答案 0 :(得分:1)

正如您在评论中所说,问题出在服务器返回的数据中。

这是你的Json:

[{"time":"09:00:00","value":"25"},{"time":"10:00:00","value":"30"}]

“value”是字符串,那么你必须解析为Float:

chart.series[0].addPoint(
     [Date.UTC(year, month, day, 
     resultat[i]["time"].split(":")[0]), 
     parseFloat(resultat[i]["value"])], true
);

小提琴:http://jsfiddle.net/69k80L58/4/