2013-06-12 75 views
-1

我需要在數據值中添加逗號以顯示從123456到123,456。我試圖尋找許多論壇和支持,但我不明白我需要做什麼。如何在數據值中添加逗號

這是當前的腳本代碼:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 

    $('#container').highcharts({ 
     chart: { 
      type: 'line', 
      marginRight: 130, 
      marginBottom: 25 
     }, 
     title: { 
      text: 'Graph Title', 
      x: -20 //center 
     }, 
     subtitle: { 
      text: 'Source: Name and site www.url.com', 
      x: -20 
     }, 
     xAxis: { 
      categories: ['Jul-12', 'Aug-12', 'Sep-12', 'Oct-12', 'Nov-12', 'Dec-12', 
       'Jan-13', 'Feb-13', 'Mar-13', 'Apr-13'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Price' 
      }, 
      plotLines: [{ 
       value: 0, 
       width: 1, 
       color: '#7c1440' 
      }] 
     }, 
     tooltip: { 
      valueSuffix: '' 
     }, 
     legend: { 
      layout: 'vertical', 
      align: 'right', 
      verticalAlign: 'top', 
      x: -10, 
      y: 100, 
      borderWidth: 0 
     }, 
     series: [{ 
      name: 'HERC Index Value', 
      data: [230570, 231055, 231055, 232325, 232914, 241636, 241748, 241748, 242330, 242633] 

     }] 
    }); 
}); 


</script> 

我所需要的「數據:」值顯示爲:數據:[230570,231055,231055,232325,232914,241636,241748,241748,242330 ,242,633]。

回答

3

看來,到目前爲止,很多答案都非常過於複雜。

說明您的最終結果需要什麼將會非常有幫助。

但是,我要走出一條腿,並建議您所需的數據值不是逗號,而是數據標籤,工具提示或軸標籤上顯示的格式化數字。

如果是這樣的話,你可以使用任何一個這些領域要影響的顯示相應格式的組合:

和numberFormat函數:

http://api.highcharts.com/highcharts#Highcharts.numberFormat%28%29

如果我誤解了您的需求,請澄清。

+0

優秀!謝謝! – OtherDavid

-1

使用Array.map(),它會創建一個新的列表與另一個有你想要的一些條件。

var arr = [230570, 231055, 231055, 232325, 232914, 241636, 241748, 241748, 242330, 242633], 
    parsed = arr.map(function(element, index, array) { 
     var string = element.toString(), 
      part1 = string.substring(0, 3), 
      part2 = string.substring(3); 
     return part1 + "," + part2; 
    }); 
alert(parsed); 

由於它不完全支持你也可以做到這一點與for循環,定義element作爲arr[i]就大功告成了!

var arr = [230570, 231055, 231055, 232325, 232914, 241636, 241748, 241748, 242330, 242633], 
    parsed = []; 
for(var i = 0; i < arr.length; i++) { 
    var string = arr[i].toString(); 
     part1 = string.substring(0, 3), 
     part2 = string.substring(3); 
    parsed.push(part1 + "," + part2); 
} 
alert(parsed); 

修改後的數據將顯示如下:

var data = [230570, 231055, 231055, 232325, 232914, 241636, 241748, 241748, 242330, 242633], 
    parsed = data.map(function (element, index, array) { 
     var string = element.toString(), 
      part1 = string.substring(0, 3), 
      part2 = string.substring(3); 
     return part1 + "," + part2; 
    }), 
    obj = { 
     chart: { 
      type: 'line', 
      marginRight: 130, 
      marginBottom: 25 
     }, 
     title: { 
      text: 'Graph Title', 
      x: -20 //center 
     }, 
     subtitle: { 
      text: 'Source: Name and site www.url.com', 
      x: -20 
     }, 
     xAxis: { 
      categories: ['Jul-12', 'Aug-12', 'Sep-12', 'Oct-12', 'Nov-12', 'Dec-12', 
       'Jan-13', 'Feb-13', 'Mar-13', 'Apr-13'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Price' 
      }, 
      plotLines: [{ 
       value: 0, 
       width: 1, 
       color: '#7c1440' 
      }] 
     }, 
     tooltip: { 
      valueSuffix: '' 
     }, 
     legend: { 
      layout: 'vertical', 
      align: 'right', 
      verticalAlign: 'top', 
      x: -10, 
      y: 100, 
      borderWidth: 0 
     }, 
     series: [{ 
      name: 'HERC Index Value', 
      data: parsed 
     }] 
    }; 
$('#container').highcharts(obj); 

記住parsed將是一個字符串數組,因爲在列表中使用逗號來定義新的元素!

+0

謝謝你的代碼。我在哪裏申請這個?歡呼聲 – OtherDavid

+0

更新的答案! –

+0

如果我在第一行收到錯誤信息。有任何想法嗎?謝謝 – OtherDavid

0

在Highcharts中,您的數據格式需要是數字,而不是字符串。但是,爲什麼你不能用簡單的格式點:

data: [230.570, 231.055, 231.055, 232.325, 232.914, 241.636, 241.748, 243.748, 242.330, 242.633] 

螞蟻然後,顯示Highcharts時,顯示逗號改爲:http://api.highcharts.com/highcharts#lang.decimalPoint