我正在使用HighCharts库在仪表图中绘制一些数据。我的图表如下图所示。
为了实现这个图,我使用系列选项一起使用实心规和量规(半圆形的实心规和表盘的规格。)
...
series: [
{
name: 'solidgauge',
type: 'solidgauge',
data: [data.value],
...
},
{
name: 'gauge',
type: 'gauge',
data: [data.value],
...
},
]
...
显然这两个系列的数据是相同的,所以当我将图表导出到csv文件时,库会创建两个具有相同数据的列,我想要更改此行为并只导出一个系列,但经过大量搜索,我无法在highcharts中找不到任何选项以排除特定系列。
我怎样才能做到这一点? (我不熟悉导出自定义,使用少量代码示例的答案对于开始创建我自己的代码非常有用。)
您可以包装getCSV
方法并在继续之前隐藏系列:
var H = Highcharts;
H.wrap(H.Chart.prototype, 'getCSV', function(proceed) {
var result;
this.series[1].hide();
result = proceed.apply(this, Array.prototype.slice.call(arguments, 1));
this.series[1].show();
return result;
});
现场演示:https://jsfiddle.net/BlackLabel/109a7vek/
此外,您可以在exportData
事件中编辑生成的数据:
H.addEvent(H.Chart, 'exportData', function(e){
e.dataRows.forEach(function(el){
el.splice(2, 1);
});
});