如何在数据值中添加逗号

时间:2013-06-12 06:08:28

标签: javascript php graph highcharts

我需要在数据值中添加逗号以显示从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]。

3 个答案:

答案 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将是一个字符串数组,因为列表中的逗号用于定义新元素!