Форматирование значений
В спецификациях 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. Тогда подписи разной точности можно оформлять по-разному:
Постоянный формат времени
Если все подписи должны следовать одному шаблону, передайте строку формата:
В строку формата можно включать обычный текст: