addpoint ist nicht Punkt hinzufügen in highcharts ,wo die Daten aktualisiert werden dynamisch mit ajax

meine Aufgabe ist das hinzufügen von mehreren Serie-dynamisch und Updates-Serie die Daten dynamisch.
meine Daten werden geladen mit ajax-request.

habe ich die Logik auf highcharts Seite zu aktualisieren, die Daten dynamisch. aber addpoint ist nicht, neue Punkte auf die Reihe weiß nicht, warum, wenn ich überprüft die Serie Objekt, es hat die Daten aber dirtyfiled auf true gesetzt ist (weiß nicht den Grund)

unten angegebenen code wird verwendet, um Daten zu laden, dynamisch. hier problem ist, Punkt hinzufügen, es ist nicht das hinzufügen von Daten zur Grafik.
Serie Objekt zeigt isDirty :true
isDirtyData:true.

ich denke, das isDirty hat etwas zu beschäftigen. bitte helfen Sie mir. mit diesem problem konfrontiert, für eine ziemlich lange Zeit .

from_date=new Date().getTime()-60000;
        function requestData ()
                          {
                              console.log("into request data")
                              console.log(TypeOfParameter,sub_type,sub_type_parameter,hostname,from_date)
                              $.ajax({
                                  url:serverUrl+'/api/fetch_params/',
                                  type:'GET',


                                  data:{'type':TypeOfParameter,'sub-type':sub_type,'hostname':hostname,'param':sub_type_parameter,'from-date':from_date},
                                  success:function(response)
                                  {
                                   console.log("into success")
                                  var id=sub_type+sub_type_parameter
                                  var series = chart.get(id)

                                  shift = series.data.length > 150; //shift if the series is longer than 300 (drop oldest point)
                                   console.log(shift)
                                      response= $.parseJSON(response)

                                      var x=sub_type;
                                      all_data=response.response.data[x]
                                      itemdata=[]//
                                      console.log(all_data.length)
                                      //console.log(new Date(all_data[all_data.length-1][0]),'latest timestamp')
                                      from_date=all_data[all_data.length-1][0]
//                                     series.addPoint(all_data,false,shift);
                                       console.log("series name:",series.data.length,series.name)
                                      for (var i = 0; i < all_data.length; i++)
                                      {
                                         console.log(all_data[i][0],all_data[i][1]);
                                          series.addPoint({ x: all_data[i][0],y: all_data[i][1],id: i},false,shift);
                                      }
                                      console.log(series,"object")
                                      console.log("hey",series.data.length)
                                      console.log("hey",series.data.length )
                                      console.log(series.data)
                                       console.log("out of success")
                                      //chart.redraw();

                                  setTimeout(requestData, 60000);


                                  },
                                  cache:false,
                                  error:function()
                                  {
                                      console.log("err")

                                  }

                              });
                            console.log("out of request ")

                          }

unten functin wird verwendet, um zu zeichnen, highchart,hier onload-Ereignis wird verwendet, um Daten zu laden, dynamisch.

                       $(function (

) {
                               console.log("into highcharts")
                                 chart = new Highcharts.Chart({
                        chart: {
                            renderTo: 'container',
                            defaultSeriesType: 'spline',
                            events: {
                                load: requestData
                            }
                        },
                        title: {
                            text: 'cpu Usage'
                        },
                        xAxis: {
                            type: 'datetime',
                            tickPixelInterval: 150,
                            maxZoom: 20 * 1000
                        },
                        yAxis: {
                            minPadding: 0.2,
                            maxPadding: 0.2,
                            title: {
                                text: 'Value',
                                margin: 80
                            }
                        },
                        series: [{
                            id:sub_type+sub_type_parameter,
                            name: 'CPU',
                            data: []
                        }]
    });;
                               console.log("out of highcharts")
                             });



chart = $('#container').highcharts();

dies ist der code zum hinzufügen einer Achse dynamisch.

        var flag=true
                if(TypeOfParameter=='cpu'&&flag)
                {
                    console.log("entering into cpu",sub_type,flag)
//                   all_data = response.response.data[sub_type]
//                   itemdata=[]
//                   for(i in all_data)
//                   {
//                       itemdata.push(all_data[i][1])
//                   }
//                   console.log(itemdata[0])
//                   console.log("Drawing trend")


                     chart.addAxis({ //Primary yAxis

                              id:'Cpu_axis'+sub_type_parameter,
                              labels: {
                                  formatter: function() {
                                      return this.value;
                                  },
                                  style: {
                                      color: '#89A54E'
                                      }
                              },
                              title: {
                                  text: "core "+ sub_type+ " "+sub_type_parameter,
                                  style: {
                                      color: '#89A54E'
                                  }
                              },

                            lineWidth: 1,
                            lineColor: '#08F'

                          });


                    chart.addSeries({
                            id:sub_type+sub_type_parameter,
                            name: "core "+sub_type+" "+sub_type_parameter,
                            data:[],
                            tooltip: {
                                valueSuffix: ' q    %'
                                    },
                                 yAxis:'Cpu_axis'+sub_type_parameter
                                })
                              //chart.redraw();
                    flag=false

                    console.log("returning from cpu")

                    } 
InformationsquelleAutor jugadengg | 2013-07-31
Schreibe einen Kommentar