2013-12-20 62 views
0

我對任何javascript/html等編碼都非常陌生,所以請原諒我,如果這是一個愚蠢的問題。無法連接不同的高分點

我正試圖設計一個計算器,它可以根據一些輸入項目來計算你的退休收入。計算器工作正常,作爲產出的一部分,我想描繪一下退休收入隨退休年齡的變化。

我寫了一個小小的腳本,用結果[[退休年齡1,收入1],[退休年齡2,收入2] ...等]填充數組。我的代碼中的這個數組稱爲agePoints,然後我想使用高圖線圖來繪製結果圖。

我遇到的問題是該圖顯示的是不同的點而不是一條線。我已經嘗試了一些解決方案,但都沒有成功。

,如果你能

代碼如下,請幫忙:

$(function() { 
    $('#container').highcharts({ 
     chart: { 
      type:'line' 
     }, 
     title: { 
      text: 'Retirement Income', 
      x: -20 //center 
     }, 
     subtitle: { 
      text: 'Income by Retirement Age', 
      x: -20 
     }, 
     xAxis: { 
      // axisPoints is an array which contains the retirement ages only 
      categories: axisPoints 
      min:axisPoints[1], 
      title: { 
       text: 'Retirement Age' 
      } 
      //categories: axisPoints 

     }, 
     yAxis: { 
      min:0, 
      title: { 
       text: 'Monthly Income' 
      }, 
     }, 
     legend: { 
      enabled:false 
     }, 
     credits: { 
      enabled: false 
     }, 
     //one thing I tried below to get it to work 
     plotOptions: { 
      series: { 
       connectNulls: true 
        } 
        }, 
     series: [{ 
      name: 'Projected Income', 
      // age points is the array mentioned in my question above 
      data: agePoints 
     }] 
    }); 
}); 

圖表看起來是這樣的:

enter image description here

圖表看起來不錯,該軸是正確的,數據顯示正確。但是,不是顯示一條線,而是每個年齡點(x軸上的年齡)都有一個明顯的點。

在此先感謝。

+0

確保您的agePoints按退休年齡排序,如下所示:退休年齡1 <退休年齡2 <退休年齡3等 –

+0

我認爲agePoints數組已經按照這種排序。第一個值是你的「當前年齡」,每個下一個值將該年齡增加1,直到80歲。什麼建議數組沒有按正確的順序排序? – user3122587

+0

當數據未排序時,這是丟失行的常見問題。另外,確保所有值都是數字,而不是字符串。最後 - 將Highcharts更新到3.0.7(如果您有舊版本)。 –

回答

0

只需用age替換agePoints數組中缺失的值即可。

例如,比較這些

系列:[{ 名稱: '東京', 數據:[ '',6.9,9.5,14.5,18.4,21.5,25.2,26.5,23.3,18.3,13.9,9.6 ],
},{名稱: '塔林', 數據:[NULL,4.9,4.5,4.5,4.4,3.5,2.2,26.5,23.3,18.3,13.9,9.6]}]

+0

謝謝。我認爲這是問題所在。當初始定義數組時,我不小心通過放置var agePoints = [[]];第一個值爲空數組;而不是var agePoints = []。後者解決了這個問題。 – user3122587