Форматирование значений

В спецификациях Vega-Lite можно настраивать формат текстовых примитивов, подсказок и подписей осей, легенд и заголовков панелей.

Определение текстового поля, а также определения подписей осей, легенд и заголовков панелей включают следующие свойства:

Свойство Тип Описание
format Format Спецификатор формата чисел и дат/времени в подписях осей, легенд, заголовков панелей и в текстовых примитивах.

При formatType: "number", например для количественных полей, используется строка шаблона числового формата D3.

При formatType: "time", например для временных полей, используется либо строка статического формата времени D3, либо объект динамического формата времени, выбирающий формат по детализации входной даты — границе года, месяца, дня, часа и т. п.

При собственном formatType это значение передаётся зарегистрированной функции как format вместе с datum.value.

По умолчанию: определяется numberFormat или timeFormat конфигурации.
formatType string Тип формата подписей: "number", "time" или зарегистрированный собственный тип.

По умолчанию: "time" для временных полей и порядковых/номинальных полей с timeUnit; "number" для количественных полей и порядковых/номинальных полей без timeUnit.

Кроме того, можно переопределить форматы по умолчанию в config.

Форматирование текста и подсказок

// Спецификация одиночного представления или слоя
{
  ...,
  "mark/layer": ...,
  "encoding": {
    ...,
    "text": {
      "field": ...,
      "type": ...,
      "format": ...,   // Формат
      "formatType": ...,
      ...
    },
    ...
  }
}

Формат текста и подсказок задаётся свойством format в определении канала text или tooltip.

В следующем примере показана средняя мощность автомобилей по странам происхождения. Шаблон ".2f" выводит число с двумя знаками после десятичного разделителя:

Те же свойства применяются к подсказкам и датам.

Форматирование осей, легенд и заголовков панелей

// Спецификация одиночного представления или слоя
{
  ...,
  "mark/layer": ...,
  "encoding": {
    ...: {
      "field": ...,
      "type": ...,
      "axis/legend/header": {                // Ось / легенда / заголовок панели
        "format": ...,
        "formatType": ...,
        ...
      },
      ...
    },
    ...
  }
}

Количественные поля

Здесь стандартный формат чисел заменён экспоненциальной записью с двумя знаками после десятичного разделителя (шаблон ".2e").

Временные поля

Формат по умолчанию

По умолчанию временные поля могут использовать динамический формат: он выбирается по детализации входной даты, например по тому, находится ли дата деления на границе года, месяца, дня, часа и т. п.

Собственный динамический формат

Динамический формат можно переопределить объектом format: ключи — допустимые единицы времени Vega, например year, month, значения — строки спецификаторов d3-time-format. Тогда подписи разной точности можно оформлять по-разному:

Постоянный формат времени

Если все подписи должны следовать одному шаблону, передайте строку формата:

В строку формата можно включать обычный текст: