我需要在数据值中添加逗号以显示从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>
我需要'data:'值显示为:data:[230,570,231,055,231,055,232,325,232,914,241,636,241,748,241,748,242,330,242,633]。
答案 0 :(得分:3)
到目前为止,许多答案似乎过于复杂。
澄清最终结果需要的内容将非常有用。
但是,我将要说明你需要的不是图表将使用的数据值中的逗号,而是显示在数据标签,工具提示或轴标签上的格式化数字。
如果是这种情况,您可以将相应格式化程序的组合用于您想要影响显示的那些区域:
和numberFormat函数:
http://api.highcharts.com/highcharts#Highcharts.numberFormat%28%29
如果我误解了你的需要,请澄清。
答案 1 :(得分:0)
在Highcharts中,您的数据格式需要是数字,而不是字符串。但是,为什么不能使用带点的简单格式:
data: [230.570, 231.055, 231.055, 232.325, 232.914, 241.636, 241.748, 243.748, 242.330, 242.633]
Ant然后,当显示Highcharts时,显示逗号:http://api.highcharts.com/highcharts#lang.decimalPoint
答案 2 :(得分:-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
将是一个字符串数组,因为列表中的逗号用于定义新元素!