如何在jquery中操作highcharts数据?

时间:2015-01-05 02:56:42

标签: highcharts

我试图通过执行以下操作来操纵hightcharts数据以显示饼图:

<div style="display: none" id="main-data">
    <span data-name="Firefox" data-value="45"></span>
    <span data-name="IE" data-value="26.8"></span>
</div>

function getPieData() {
var dataArr = [];
$('#main-data span').each(function() {
    var name = $(this).data("name");
    var value = $(this).data("value");
    dataArr.push(name);
    dataArr.push(value);
});

return dataArr;
}

var dataArr = [['Firefox',45.0],['IE',26.8]];
var dataArr1 = getPieData();

如果我使用dataArr,图表显示正常。但是如果我使用dataArr1,它只显示1条垂直线。我试图打印出两个dataArr并看到它们都完全格式化。如何修复dataArr1以像dataArr那样显示饼图?

1 个答案:

答案 0 :(得分:0)

使用函数(dataArr1)创建的数组是一维的,而手动实例化的数组(dataArr)是二维的。它必须是二维的才能包含名称 - 值对。

在示例的最后,您的数组包含以下内容:

dataArr = [['Firefox', 45.0], ['IE', 26.8]];
dataArr1 = ['Firefox', 45, 'IE', 26.8];

您需要在getPieData()函数内将数组推送到数组中。例如:

function getPieData() {
    var dataArr = [];
    $('#main-data span').each(function() {
        var name = $(this).data("name");
        var value = $(this).data("value");
        dataArr.push([name, value]);
    });

    return dataArr;
}