Добавьте дополнительные данные в серию Highcharts для использования в форматах
Мой вопрос точно такой же, как OP в этом вопросе:
Задайте дополнительные данные в серии с высоким качеством
Но принятый ответ объясняет, как добавить дополнительные данные в точку, а не в серию, не говоря, если это возможно сделать с серией или нет.
Я хотел бы иметь возможность определять серию вроде:
series: [
{"hasCustomFlag": true, "name": "s1", "data": [...]},
{"hasCustomFlag": false, "name": "s2", "data": [...]},
]
и иметь возможность использовать point.series.hasCustomFlag
внутри функции форматирования. Возможно ли это?
Я не хочу помещать данные на уровне точки, потому что это означает, что мне придется дублировать данные слишком много раз.
Ответы
Ответ 1
Да, это возможно, дополнительные свойства конфигурации находятся под свойством options
(this.series
относится к экземпляру серии, а не к объектам конфигурации). Смотрите ссылку здесь и прокрутите вниз до раздела свойств.
Поэтому вместо этого используйте эту строку в форматере:
if (this.series.options.hasCustomFlag) { ... }
Полный пример на jsfiddle
Ответ 2
Это, похоже, было пересмотрено с последующими итерациями HighCharts/HighStocks. Пример jsfiddle больше не работает. Использование синтаксиса "this.series.options.hasCustomFlag" приводит к "undefined". Отладчик показывает, что данные, которые я ищу, находятся в "this.series.userOptions.data" - несортированный очень большой массив, но есть целая серия, а не конкретные данные записи, которые вы обычно получаете с this.x или этим. у.