Highcharts 当序列数据使用命名对象时,在highchart图表上打印数据
我有一个简单有效的highchart图表,它根据“时间”绘制“分数”。这里有一个演示: 系列数据的格式为[时间,分数]: 然而,我需要附加更多的元数据,因为我想在将来用过滤器等扩展图表。这意味着API中的数据将返回命名对象:Highcharts 当序列数据使用命名对象时,在highchart图表上打印数据,highcharts,Highcharts,我有一个简单有效的highchart图表,它根据“时间”绘制“分数”。这里有一个演示: 系列数据的格式为[时间,分数]: 然而,我需要附加更多的元数据,因为我想在将来用过滤器等扩展图表。这意味着API中的数据将返回命名对象: "data": [ { 'dateCompleted': 1540398983, 'score': 3, 'category': 'A' }, { 'dateCompleted': 1540398983, 'score': 2, 'category': 'C
"data": [
{ 'dateCompleted': 1540398983, 'score': 3, 'category': 'A' },
{ 'dateCompleted': 1540398983, 'score': 2, 'category': 'C' },
{ 'dateCompleted': 1540398983, 'score': 3, 'category': 'A' },
{ 'dateCompleted': 1540398983, 'score': 2, 'category': 'B' },
{ 'dateCompleted': 1540398983, 'score': 4, 'category': 'A' },
{ 'dateCompleted': 1540485383, 'score': 3, 'category': 'C' }
]
现在我不太关心过滤,我只需要让图表与使用简单对象值时的绘图相同。当我使用命名值时,尽管图表没有显示任何内容
我似乎无法从文档中弄清楚Highcharts如何“知道”要打印的命名对象中的哪些值
有人能建议如何让这个工作吗
非常感谢。显然,您需要调用这些值来绘制“x”和“y”。所以这是可行的:
"data": [
{ 'x': 1540398983, 'y': 3, 'category': 'A' },
{ 'x': 1540398983, 'y': 2, 'category': 'C' },
{ 'x': 1540398983, 'y': 3, 'category': 'A' },
{ 'x': 1540398983, 'y': 2, 'category': 'B' },
{ 'x': 1540398983, 'y': 4, 'category': 'A' },
{ 'x': 1540485383, 'y': 3, 'category': 'C' }
]
如果您不改变从服务器接收到的对象的结构,您可以实现自己的数据解析函数,该函数获取具有特定结构的数据,并返回专门为Highcharts准备的数据 实际上这是小菜一碟,所以我写了这个函数:
function mapData(data) {
let arr;
arr = data.map(point => {
return {
x: point.dateCompleted,
y: point.score,
category: point.category
}
})
return arr
}
实例:
function mapData(data) {
let arr;
arr = data.map(point => {
return {
x: point.dateCompleted,
y: point.score,
category: point.category
}
})
return arr
}