Highcharts 当序列数据使用命名对象时,在highchart图表上打印数据

Highcharts 当序列数据使用命名对象时,在highchart图表上打印数据,highcharts,Highcharts,我有一个简单有效的highchart图表,它根据“时间”绘制“分数”。这里有一个演示: 系列数据的格式为[时间,分数]: 然而,我需要附加更多的元数据,因为我想在将来用过滤器等扩展图表。这意味着API中的数据将返回命名对象: "data": [ { 'dateCompleted': 1540398983, 'score': 3, 'category': 'A' }, { 'dateCompleted': 1540398983, 'score': 2, 'category': 'C

我有一个简单有效的highchart图表,它根据“时间”绘制“分数”。这里有一个演示:

系列数据的格式为[时间,分数]:

然而,我需要附加更多的元数据,因为我想在将来用过滤器等扩展图表。这意味着API中的数据将返回命名对象:

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