Highcharts使用数组向每个冒泡点显示附加信息

时间:2015-02-20 00:28:57

标签: javascript arrays highcharts

我正在使用气泡图。我代表" Ideas"在此图表中。每个气泡都是一个具有X值和Y值的特定想法。我需要的是" Idea名称"在每个气泡的工具提示中作为附加信息。

我已经知道您可以按照以下方式执行此操作:

series: [{
     data: [ { x : 1, y : 100, myIdea : 'Idea1' },
             { x : 2, y : 150, myIdea : 'Idea2' },
             { x : 5, y : 170, myIdea : 'Idea3' } ]
  }]

但问题出现了: 我之前使用过这种阵列:

dataArray [0][0] = 1; dataArray [0][1] = 100; dataArray [0][2] = 5;
dataArray [1][0] = 2; dataArray [1][1] = 150; dataArray [1][2] = 5;

来自一个循环。

我的dataArray数组看起来像那样:[1,100,5],[2,150,5],......

我把它给了那样的系列:

series: [{
           data: dataArray 
                }]

完美无缺!

如何以此预期格式创建数组:

         data: [ { x : 1, y : 100, myIdea : 'Idea1' },
                 { x : 2, y : 150, myIdea : 'Idea2' },
                 { x : 5, y : 170, myIdea : 'Idea3' } ]

这是否以某种方式使用关联数组:

var myData= {
            "x": "1",
            "y": "100",
            "myIdea": "idea1"
        }

顺便说一句,为bubblechart系列传递动态数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以遍历当前的dataArray并构建新的数组,如下所示:

var oldDataArray = [
    [1, 100, 5],
    [2, 150, 5]
];
var newDataArray = oldDataArray.map(function (row) {
    return {
        x: row[0],
        y: row[1],
        z: row[2]
    };
});

console.log(newDataArray);