2013-01-04 66 views
0

在我創建動態圖表時,不依賴任何手動輸入的系列或系列數據,我已經遇到了呃逆。我正在添加正確數量的系列和正確的數據,但恰好在不正確的系列或x軸點。有些要點是1,我相信我已經隔離了它搞亂了,但看不到它。動態系列和積分高點出錯點

 function chartCreate(point) { 
     var temp; 
     temp = $.parseJSON(point.d); 
     $.each(temp, function (key, p) { 
      var seriesObj; 

      seriesObj = seriesExists(p.mcAnswer); 
      if (seriesObj.status == 'f') { 
       var name = p.mcAnswer.replace(/^\s+|\s+$/g, '') 
       //var name = p.mcAnswer.replace(/^\s+|\s+$/g, '') 
       chart1.addSeries({ name: name, data: [] }, false); 
       chart1.series[seriesObj.count].addPoint(p.total, false); 
      } else { 
       chart1.series[seriesObj.count].addPoint(p.total, false); 
      } 
     }); 
    }; 

    //loops through all the series to see if the series exists. 
    //if true returns index and true if not just returns false 
    function seriesExists(name) { 
     name = name.trim(); 
     var ct = 0; 
     var returnObj = { count: ct, status: 'f' }; 
     var len = chart1.series.length; 
     //   var len = 0; 
     if (len > 0) { 
      $.each(chart1.series, function (count, curSeries) { 
       ct = count; 
       var temp = curSeries.name; 
       temp = temp.trim(); 
       if (temp == name) { 
        returnObj = { count: ct, status: 't' }; 
        return (false); 
       } else { 
        returnObj = { count: ct, status: 'f' }; 
       } 
       //ct = count; 
      }); 
     } 
     return returnObj; 
    }; 

相信在seriesExists功能的。每發生錯誤。對於傳遞給這個所有東西的json是爲了使它在循環中的每個對象時都是順序的,因此在添加點時是這樣。發生的奇怪事情並不是所有添加的點都在錯誤的位置,只有其中的一個點出現在錯誤的系列中。 this appears when trying to export 節能不正確的圖表

what incorrect chart actually looks like on screen 不正確的圖表只是幾關

correct chart 正確圖表

+0

您可以使用正在創建問題的數據生成示例小提琴嗎? –

+0

我更新了截圖,有Ajax調用和背景中的所有內容來獲取數據 – willJk

+1

由於我們不知道正確元素的位置並且每個圖表都不相同,因此很難說出發生了什麼。 OCR你的形象)。你能用一個基本的jsFiddle使用動態數據循環嗎?只需使用像您的JSON一樣的硬編碼變量即可。 – wergeld

回答

0

對不起它花了這麼長時間,我拉進另一個項目。我能夠通過遍歷每個對象並將它們存儲在臨時數組中來創建正確的圖表。在我瀏覽完ajax調用的所有對象之後,我會使用addSeries,它會正確地創建圖表。