Версия: 2.1 🚧

Цвета темы и цветовые схемы

Deneb предоставляет два способа связать визуал с текущей темой отчёта:

  • Доступ через выражения с использованием пользовательской функции.
  • Пользовательские цветовые схемы Vega.

Оба способа обращаются к теме во время выполнения. Если вы измените цвета темы, Deneb автоматически обновит связанные с ними цвета визуала.

Доступ через выражения с pbiColor

В Deneb есть пользовательская функция pbiColor, которую можно использовать в выражениях Vega или Vega-Lite:

pbiColor(index|name, shadePercent = 0)
  • Первый параметр (index или name) предоставляет доступ к соответствующему цвету темы:

    • index — индекс цвета в палитре темы Power BI, отсчитываемый от нуля:

      • 0 = цвет темы 1.
      • 1 = цвет темы 2.
      • 2 = цвет темы 3.
      • И так далее.
    • name — строка в одинарных кавычках, задающая именованный цвет из конфигурации темы. Допустимые имена:

      • min / middle / max — цвета расходящейся шкалы.
      • negative / neutral / positive — цвета для отрицательной, нейтральной и положительной оценки.
      • Power BI также предоставляет имена bad и good: при желании их можно использовать вместо negative и positive.

      Допустимые имена цветов для функции pbiColor

  • shadePercent — необязательное десятичное значение от -1 (−100%) до 1 (100%).

    • Если оно задано, цвет затемняется при значении меньше нуля или осветляется при значении больше нуля на указанную величину.
    • Это позволяет получить оттенки цветов темы, как в палитре выбора цвета Power BI.

Например, чтобы задать свойству color примитива bar первый цвет темы, используйте следующие свойства примитива:

{
  ...
  "mark": {
    ...
    "color": {
      "expr": "pbiColor(0)"
    }
  }
}

Для стандартной темы результат будет выглядеть так для первых двух цветов (#118DFF и #12239E):

Пример использования первых двух цветов темы

Цветовые схемы Power BI

Эти схемы можно использовать везде, где шкала Vega или Vega-Lite допускает указание цветовой схемы:

Vega-Lite
{
  ...
  "encoding": {
    "color": {
      "field": "City",
      "legend": null,
      "scale": {"scheme": "pbiColorNominal"}
    }
  }
  ...
}
Vega
{
  ...
  "scales": [
    {
      "name": "color",
      "type": "ordinal",
      "domain": {
        "data": "dataset",
        "field": "City",
        "sort": true
      },
      "range": {
        "scheme": "pbiColorOrdinal"
      }
    }
  ],
  ...
}

Доступные схемы описаны ниже.

pbiColorNominal

Схема pbiColorNominal предназначена для номинальных, то есть дискретных категорий, и соответствует цветам текущей темы Power BI:

Стандартные цвета темы в диалоге настройки темы Power BI

Пример применения схемы pbiColorNominal

pbiColorOrdinal

Схема pbiColorOrdinal предназначена для порядковых категорий. Она создаёт цветовую шкалу от минимального (Min) до максимального (Max) цвета расходящейся шкалы текущей темы Power BI, без среднего цвета (Middle):

Цвета расходящейся шкалы в настройках темы Power BI

Пример применения схемы pbiColorOrdinal

pbiColorLinear

Схема pbiColorLinear создаёт интерполированный градиент от минимального (Min) до максимального (Max) цвета расходящейся шкалы текущей темы Power BI, без среднего цвета (Middle):

Пример применения схемы pbiColorLinear

pbiColorDivergent

Схема pbiColorDivergent создаёт интерполированный градиент от минимального (Min) до максимального (Max) цвета расходящейся шкалы текущей темы Power BI, включая средний цвет (Middle):

Пример применения схемы pbiColorDivergent