Highcharts 从导出到 CSV 中删除键定义的列

Highcharts remove column defined by keys from export to CSV

我正在使用 series.keys 控制数据集中每个点的 marker.enabled - 类似于 keys: ['x','y','marker.enabled'] 并且数据看起来像 [[1609459200,10,false], [1609459200,20,true]...]

问题是 - 导出到 CSV 时 - 我现在不是只将 Y 数据作为列,而是将所有 3 个键作为列 - title(x), title(y), title(marker.enabled)

我知道我可以将 data 从数组数组更改为对象数组,摆脱 keys 并实现相同的目的 - 但我仍然想知道是否有保留的选项keys 但只导出 Y,就好像 keys 是 undefined

我尝试在 exporting.chartOptions 中将 keys 覆盖为未定义,但它似乎不影响 CSV。

有什么简单的方法吗? 谢谢。

编辑: 带有示例的 jsfiddle https://jsfiddle.net/3f4a1xdo/
虽然它并没有真正导出 - table 显示了导出为 CSV 时的样子。请注意 keys 如何导致 table 包含 Temperature(x),它是 DayTemperature(Y) 的副本。如果您注释掉 keys 行,table 会很好地显示而无需触及实际数据。

根据评论-这个问题有一个最终解决方案:

要删除一列:

H.addEvent(H.Chart, 'exportData', function(e) {
  e.dataRows.forEach(function(el) {
    el.splice(1, 1);
  });
});

要编辑 table headers:

csv: {
  columnHeaderFormatter: function(item, key) {
    if (item.isXAxis) {
      return 'Category'
    } else {
      return item.name
    }
  }
}

演示:https://jsfiddle.net/BlackLabel/5zthymxg/

API: https://api.highcharts.com/highcharts/exporting.csv.columnHeaderFormatter