2015-08-03 54 views
2

我試圖解決一個奇怪的問題。我從ajax調用中返回一個json數組,並試圖將它繪製成高檔模型。我已經映射了來自同一個數組的其他圖形,並且一切都很好,直到點擊十進制數(可能是共同發生的)。在這種情況下,日期顯示正常,但y軸(價格)爲空。Highcharts JSON十進制數​​據格式問題

現在,我可以'提醒(s5)'並將數據顯示在警告框中。 我也運行了一個控制檯日誌,看到「[」5.15「,」4.94「,」4.43「,」4.49「,」4.42「,」4.41「]」(也許這個數字導致了這個問題!

如果我把值手動進highcharts數據它完美,但我不能數組不分配一個值,並把它顯示

代碼如下所示:

function draw_flow(garray) 
    { 

    var obj = JSON.stringify(garray); 
    obj = JSON.parse(obj); 
    s5 = obj["closeprice"][0]; 
    ticks = obj["date"][0]; 

alert(s5); //THIS DISPLAYS DATA FINE! "5.15,4.94,4.43,4.42,4.41" 



      $('#chart3').highcharts({ 
       chart: { 
        marginBottom: 80 
       }, 
       xAxis: { 
        categories: ticks 
       }, 

       yAxis: { 
        labels: { 
         align: 'left', 
         x: 0, 
         y: -2 
        } 
       }, 

       series: [{ 
        data: s5 //This does not work 
        //data: [5.15,4.94,4.43,4.42,4.41] //this works 
       }] 
      }); 

     } 
+0

你可以記錄蜱和張貼輸出 – cjds

+0

我太多的小白知道什麼是準確的? – user3515232

+0

我發佈了一個可能解決問題的答案。我問你是否可以運行'alert(ticks)'或'console.log(ticks)'並將該輸出添加到你的問題中。 – cjds

回答

1

你是對的。 Y軸不顯示的原因是由於數據中的字符串。 (應讀爲數字)

你有你的數據從字符串轉換爲數字組成的數組,可以用下面的

s5 = s5.map(Number); 

實現這一目標是一個例子的jsfiddle這表明它在行動http://jsfiddle.net/e803sjsp/

+0

*拍頭* ...工作。先生非常感謝您! – user3515232

+0

沒問題。乾杯:)如果有效,請將答案標爲正確。 – cjds

0

有點厚顏無恥,但你有沒有檢查過s5實際上是一個數組,而不是一串逗號分隔值。你可能想嘗試一個console.log來確定..