Исключить конкретную серию из экспорта в CSV - PullRequest
0 голосов
/ 12 марта 2019

Я использую библиотеку HighCharts, чтобы отобразить некоторые данные на диаграмме.Моя диаграмма выглядит как на рисунке ниже.

enter image description here

Чтобы достичь этого графика, я использую твердотельный измеритель и калибровку вместе, используя опцию серии (сплошной калибрдля полукруглой формы и калибра для шкалы.)

...
series: [
  {
    name: 'solidgauge',
    type: 'solidgauge',
    data: [data.value],
    ...
  },
  {
    name: 'gauge',
    type: 'gauge',
    data: [data.value],
    ...
  },
]
...

Очевидно, что данные для обеих серий идентичны, поэтому, когда я экспортирую диаграмму в CSV-файл, библиотека создает два столбца с одинаковыми данными, и я хочуизмените это поведение и экспортируйте только одну серию, но после большого поиска я не смог найти ни одной опции в старших диаграммах, чтобы исключить конкретную серию.

enter image description here

Как я могу это сделать?(Я не знаком с экспортом настроек, ответ с небольшим примером кода был бы хорош для начала создания моего собственного.)

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете обернуть метод 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

...