对Highcharts中的系列数据使用对象数组

对Highcharts中的系列数据使用对象数组,highcharts,Highcharts,我有一个要在highcharts中显示的对象数组。每个对象都有一个名称和一个值 我已经试着通过这样做来实现这一点 var objects = objectArray[]; // objectArray being an array of the objects I want data on var objectNames = nameArray[]; // This being an array of all the names of the objects var objectValues =

我有一个要在highcharts中显示的对象数组。每个对象都有一个名称和一个值

我已经试着通过这样做来实现这一点

var objects = objectArray[]; // objectArray being an array of the objects I want data on
var objectNames = nameArray[]; // This being an array of all the names of the objects
var objectValues = valueArray[]; // An array of all the values of the objects


 series: [{
    data: objects.value,
    name: objects.name
 }]
这件事让我大发雷霆。所以我试着构建这样的系列:

 series: [{
    data: objectValues,
    name: objectNames
 }]
这为我提供了值的数据,但名称是objectNames数组中的所有名称。。。对于每一条数据。所以我试着用

series: [{
    data: objectValues
},
{   
    data: objectNames
}]
这导致在图表中看到objectValues,在图例中看到名称的另一个选项-这是完全不可接受的,因为没有必要使用一系列标签,对吗

所以我决定使用foreach循环以编程方式构建一个系列,然后将其传递给构造函数。然而,他说这是“坏代码”


我想要的是能够将一组对象传递给highcharts,告诉它每个数据的“name”都将是该特定对象上的name值,并且数据将绑定到该特定对象的value字段。有办法做到这一点吗?或者是highcharts认为“不好”的唯一选项?

因此我找到了一个解决方案

在得到数据后,我做到了

$.each(item, function (index, value) {
    objects.push([value.name, value.value]);
});
然后用

series: [{
     data: objects,
     name: 'Value Type Description'
}]
因此,我在图例中有“值类型描述”,但当我将鼠标悬停在特定点上时,我将名称作为标签,并以图形形式显示有效数据

我发现,如果你有一个二维数组,你可以传递一个字符串作为第一个参数,它将解析它作为该点的标签

编辑:每个请求的示例

因此,在
系列
字段中有两个部分,
数据
名称
<代码>名称不适用于将作为轴名称的数据

因此,
data
是一个键/值对数组

数据:[
{[key1,value1]},
{[key2,value2]},
{[key3,value3]}
]

name
就是“主”标签的内容,例如“我的数据资料”

然后,当您加载图表时,图例中应显示“My Data Stuff”,但当您将鼠标悬停在某个特定点(例如第一个点)上时,它将显示Key1 Value1信息

        data: [{
            name: 'Point 1',
            y: 1,
            test1:9,
            test2:'ddaf'
        }, {                         ------->      right
            name: 'Point 2',
            y: 5,
            test1:12,
            test2:'ddddaf'
        }]



因此,“name”和“y”是关键。

Hi!您可以为上述场景显示一些示例代码片段吗。非常感谢。谢谢
        data: [{
            my_name: 'Point 1',
            y: 1,
            test1:9,
            test2:'ddaf'
        }, {                         -------> we change 'name' to 'my_name',
            my_name: 'Point 2',               then the name you want to show become
            y: 5,                             'Slice', instead of 'Point 1','Point 2'
            test1:12,
            test2:'ddddaf'
        }]
        data: [{
            my_name: 'Point 1',
            my_y: 1,
            test1:9,
            test2:'ddaf'
        }, {                         ------->  Now,we get nothing.
            my_name: 'Point 2',
            my_y: 5,
            test1:12,
            test2:'ddddaf'
        }]