2013-03-21 2 views
0

Я использую диаграмму Google на моей странице. Которая обновляется каждые 5 секунд. Но странно, что каждое обновление заставляет строки внутри диаграммы сокращаться, хотя размер диаграммы остается тем же.Графическая диаграмма Google по оси x сжимается при переходе

Мои script-

google.load('visualization', '1', {packages:['corechart']}); 
    google.setOnLoadCallback(drawLine); // call drawChart when google.load() completes 
    function drawLine() { 
     var gaugeData = new google.visualization.DataTable(); 
     gaugeData.addColumn('string', 'Time'); // X-Axis 
     gaugeData.addColumn('number', 'Memory'); // Y-Axis 
     gaugeData.addColumn('number', 'CPU'); // Y-Axis 
     var gaugeOptions = {title: 'System Details'}; // Tile of chart 
     var gauge; 
     var tempArray; // Store json object value from server 
     var tempArray2; // Modify json object value from server 
     gauge = new google.visualization.LineChart(document.getElementById('line_chart_div')); 
     setInterval(function(){$.ajax({ 
       url: "lineChart.jsp", // Page from which json(new chart values) are fetched 
       cache: false, 
       data: {search: "test"}, 
       dataType: "json", 
       success: function(json2) { 
        tempArray = (json2.Stats).toString().split(","); // json2.Stats="1:45|34|56,1:55|67|43,......." 
        var colCount=0; 
        var i=0; //rowCount 
        gaugeData.addRows(tempArray.length); // length of array = no. of rows to be inserted(this is always constant) 
        for (i=0; i < tempArray.length; i++){ 
         tempArray2 = tempArray[i].split("|"); // tempArray2={"1:45","34","56"}.. 
         gaugeData.setValue(i,colCount++,tempArray2[0]); // column1 
         gaugeData.setValue(i,colCount++,parseInt(tempArray2[1], 10)); // column2 
         gaugeData.setValue(i,colCount++,parseInt(tempArray2[2], 10)); // column3 
         colCount=0; 
        } 
        gauge.draw(gaugeData, gaugeOptions); 
       } 
      });}, 5000); 
    } 

Как остановить это!? : |

ответ

1

Найдено решение. Я постоянно добавлял строки в DataTable, не удаляя старые.

Теперь я делаю это перед обновлением новых значений в

схема-
gaugeData.removeRows(0,tempArray.length); //tempArray.length=no. of old rows 
Смежные вопросы