Угловые цвета. Есть ли способ получить цвет помимо Highcharts.getOptions (). Colors [index]? - PullRequest
0 голосов
/ 11 сентября 2018

Уже решено, но просто интересно, есть ли способ получить доступ к цветам старших графиков, кроме Highcharts.getOptions ()?

Вот ситуация:

series: [{
  name: 'Some Name',
  data: [{
    name: 'Something 1',
     ...
    color: Highcharts.getOptions().colors[3]
}, {
    name: 'Something 2',
    ...
    color: Highcharts.getOptions().colors[4]
  }]
}]

Я использую угловые карты (https://www.npmjs.com/package/angular-highcharts).

Если я использую обычные Highcharts, это будет работать.

В Angular-highcharts это также работает, но только если я отображаю диаграммы после установки темы. Но в моей ситуации диаграммы генерируются в шаблоне с использованием * ngFor, поэтому Highcharts.getOptions (). Colors [3] возвращает цвет цветовой схемы по умолчанию.

Кроме того, я предоставил цвет для каждой диаграммы, используя свойство 'colors'. У меня вопрос: как я могу получить доступ к цвету конкретного графика?

new Chart({
  chart: {
      ...
    },
    colors: this.chartColorPalette,
    series: [{
    ...
  }]
}),

Конечно, я уже решил эту проблему прямым доступом к массиву this.chartColorPalette, но есть ли другой способ сделать то же самое?

Я имею в виду что-то вроде Highcharts.getOptions (). Colors [index]? Или можно установить палитру (тему) перед рендерингом шаблона представления?

1 Ответ

0 голосов
/ 12 сентября 2018

Прежде всего, вам нужно установить цвета конкретной диаграммы непосредственно в объекте конфигурации диаграммы, а не в chart.colors, потому что, скорее всего, эта настройка не будет работать автоматически.

Что касается вашего вопроса о получении цветов определенной диаграммы (не глобального объекта Highcharts), вы должны иметь возможность доступа к options.colors на Chart объекте, например:

chart: {
  events: {
    load() {
      console.log(this.options.colors)  
    }
  }
}

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

Живой пример: https://jsfiddle.net/dexkhb97/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...