Как работает раскраска маркера в Plotly. js? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать сгруппированную гистограмму, используя последнюю Plotly js (v1.52.3). Проблема в том, что мои следы являются динамическими c, поэтому я не могу определить постоянную цветовую шкалу для своих баров.

Хотя я могу изменить цвет, используя свойство marker.color, я не понимаю поведение Plotly как для окраски моих баров. Я использовал наивный подход, определяющий переменную приращения, но я действительно не понимаю, как эта переменная используется Plotly для установки цветов.

Например, значения ниже 100, кажется, не влияют на схему окраски по умолчанию , Это также должна быть строка. Я не нашел полезной информации в документации.

const volumes = JSON.parse(document.getElementById('volume').textContent)

var data = []
var i = 100 // Arbitrary value
for(var year in volumes) {
  trace = {
    x: Object.keys(volumes[year]),
    y: Object.values(volumes[year]),
    xaxis: 'x1',
    yaxis: 'y1',
    type: 'bar',
    name: year,
    marker: {
      color: i.toString(),
    },
  }
  data.push(trace)
  i += 13 // Arbitrary value
}

var layout = {
  barmode: 'group',
}

Plotly.newPlot('volume-chart', data, layout)

Этот код дает мне такой вывод: enter image description here

Может кто-нибудь объяснить, как значение передано marker.color влияет на окраску?

Дополнительный, но связанный с этим вопрос: как я могу полагаться на цветовую шкалу для такого рода целей? Я хотел бы иметь градиент, но дополняющий цвет (аналогичный тому, что на скриншоте)

1 Ответ

0 голосов
/ 17 марта 2020

marker.color принимает цвет или массив цветов, предпочтительно в одном из следующих форматов:

  1. 'blue' - css имя цвета
  2. '#0000FF' - шестнадцатеричный код
  3. 'rgb(0,0,255)' - десятичный код RGB (необязательно с альфа-значением)

Согласно документам, он также принимает

массив чисел, которые отображаются в шкале цветов относительно максимальных и минимальных значений массива

, но я ничего не знаю об этом, извините.

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