Подтвердить что ты не робот

Добавьте дополнительные данные в серию Highcharts для использования в форматах

Мой вопрос точно такой же, как OP в этом вопросе:

Задайте дополнительные данные в серии с высоким качеством

Но принятый ответ объясняет, как добавить дополнительные данные в точку, а не в серию, не говоря, если это возможно сделать с серией или нет.

Я хотел бы иметь возможность определять серию вроде:

series: [
    {"hasCustomFlag": true, "name": "s1", "data": [...]},
    {"hasCustomFlag": false, "name": "s2", "data": [...]},
]

и иметь возможность использовать point.series.hasCustomFlag внутри функции форматирования. Возможно ли это?

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

4b9b3361

Ответ 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 или этим. у.