Легенда Highchart на основе уникальных серий / названий - PullRequest
0 голосов
/ 06 мая 2020

Кажется, я не могу найти ничего подходящего или полезного по этому поводу. Мой конкретный вариант использования c состоит в том, что серия будет массивом объектов в следующем формате:

{
   name: 'name_1',
   date: 'date_1',
   data: [[0, y-value]]
}

, где x-координата соответствует категории в категориях, например:

categories = ['Jan', 'Feb', ...]

Проблема с этим подходом состоит в том, что будет несколько серий на основе количества «имен» объектов. Если имеется 5 объектов, они будут рассматриваться как 5 различных серий независимо от того, идентичны ли имена или нет. Это означает, что в легенде также будет 5 серий.

Однако в случае, когда есть идентичные серии / имена, я хотел бы, чтобы в легенде отображались только уникальные серии / имена. Это jsFiddle, который иллюстрирует мою болевую точку - https://jsfiddle.net/qn59dt2m/1/

Заранее спасибо

Edit: Спасибо Себастьяну за решение! Хотя проблема с отображением уникальных серий / названий была решена, нужно было поработать над исправлением цветов. То есть цвета серий в диаграмме отличаются от цветов в строке легенды.

Таким образом, я использовал colorIndex для группировки серия по цветам. Вот jsFiddle - https://jsfiddle.net/ypve5qnc/5/

1 Ответ

1 голос
/ 06 мая 2020

Вам необходимо назначить каждую серию основной серии (та, которая будет показана в легенде), используя функцию linkedTo. В вашем коде эту строку необходимо удалить, потому что мешает connectedTo работает:

scatter: {
   showInLegend: true,
   ...
}

Демо: https://jsfiddle.net/BlackLabel/0wjutmbf/

API: https://api.highcharts.com/highcharts/series.line.linkedTo

...