-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>

我需要将“数据:”值显示为:数据:[230,570, 231,055, 231,055, 232,325, 232,914, 241,636, 241,748, 241,748, 242,330, 242,633]。

4

3 回答 3

3

似乎到目前为止,许多答案都非常复杂。

澄清您的最终结果需要是非常有帮助的。

但是,我将冒险并建议您需要的不是图表将使用的数据值中的逗号,而是显示在数据标签、工具提示或轴标签上的格式化数字。

如果是这种情况,您可以将适当的格式化程序组合用于您想要影响显示的任何区域:

和 numberFormat 函数:

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

如果我误解了您的需求,请澄清。

于 2013-06-12T17:44:25.217 回答
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

于 2013-06-12T11:09:42.047 回答
-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循环执行此操作,定义elementarr[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将是一个字符串数组,因为列表中的逗号用于定义新元素!

于 2013-06-12T06:35:36.853 回答