从导出到 csv 中排除特定系列
Exclude a specific series from exporting to csv
我正在使用 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);
});
});
现场演示:https://jsfiddle.net/BlackLabel/du7nz2hy/
文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts
我正在使用 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);
});
});
现场演示:https://jsfiddle.net/BlackLabel/du7nz2hy/
文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts