Свойства объекта view

Обзор

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

Простейшая конфигурация выглядит следующим образом:

{
  "view": {
    "canvas": {
      "items": [
        {
          "type": ...,
        }
      ]
    }
  }
}

Поле type указывает тип графика или тип шаблона расположения, который определяет способ визуализации графика и его взаимодействие с данными.

Наиболее часто используемым типом является обычный график chart. Подробнее о типах графиков можно прочитать в разделе Графики, о типах шаблонов расположения можно узнать в разделе Шаблоны расположения

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

Описание поля view может иметь следующее описание:

{
  "view": {
    "canvas": {
      "items": [
        {
          "type": "chart:online:base",
          "sectors": [
            { "name": "right", "width": "10 px" },
            { "name": "top", "height": "30 px" },
            { "name": "bottom", "height": "10 px" }
          ],
          "content": [{ "name": "grid" }, { "name": "border" }],
          "channels": [
            {
              "isolines": [{ ... }],
              "signals": [{ ... }],
            },
          ]
        }
      ]
    }
  }
}
Название Тип Значение поумолчанию Описание
type string ОБЯЗАТЕЛЬНОЕ Определяет тип графического контейнера. Список доступных типов см. в разделе Графики.
sectors Array<object> Только центральная область Определяет дополнительные области вокруг основного графика (например, верхнюю, нижнюю, правую части), в которых можно размещать интерфейсные элементы.
content Array<object> Содержит вспомогательные визуальные элементы, такие как сетка, рамка и другие декоративные компоненты.
channels Array<object> Описывает, какие сигналы и как отображаются на полотне. Используется для связи данных из блока data.

Блок sectors

Блок sectors задаёт дополнительные области (сектора) на графическом полотне, в которых можно размещать интерфейсные элементы — такие как оси, легенды, подписи и другие визуальные компоненты.

  • top
  • topCentral
  • bottom
  • bottomCentral
  • left
  • leftCentral
  • central
  • right
  • rightCentral

Пример расположения областей на полотне представлена далее.

sectors

{
  "sectors": [
    { "name": "right", "width": "10 px" },
    { "name": "top", "height": "30 px" },
    { "name": "bottom", "height": "10 px" }
  ]
}
Название Тип Значение поумолчанию Описание
name string ОБЯЗАТЕЛЬНОЕ Название сектора. Определяет его расположение на полотне.
width\height string 0 px Размер сектора. Используется width для вертикальных областей (left, right, и т. д.) и height — для горизонтальных (top, bottom, и т. д.).

Блок content

Блок content может содержать дополнительные интерфейсные элементы, отображаемые на графическом полотне.

{
  "content": [{ "name": "grid" }, { "name": "border" }]
}

Подробнее о графических элементах можно прочитаь в разделе Графические компоненты

Блок channels

Каждый элемент в массиве channels описывает визуализацию одного канала на графике, включая отображаемые сигналы и соответствующие изолинии.

{
  "channels": [
    {
      "id_channel": 0,
      "isolines": [{ ... }],
      "signals": [{ ... }],
      "content": [{ ... }],
      "marks": [...]
    },
  ]
}
Название Тип Значение поумолчанию Описание
id_channel number Задаётся неявно и равно индексу в массиве channels. Уникальный идентификатор канала, соответствующий каналу в data.channels.
isolines Array<object> Массив конфигураций изолиний. Количество должно соответствовать числу сигналов.
signals Array<number> Массив конфигураций отображения сигналов.
content Array<object> Содержит дополнительные визуальные элементы. Подмножество общего блока content. Поддерживаются не все компоненты см. Компонент isolineLabels, Компонент signalLabels
marks Array<object> Массив конфигураций меток. Подробнее см. в разделе. См. раздел Компонент marks.

Блок isolines

Блок isolines задаёт параметры изолиний для визуального сопровождения сигналов. Каждая изолиния соответствует одному сигналу.

Изолиния обязательно должна быть определна для отображаемого сигнала, иначе сигнал не будет отрисован

{
  "isolines": [
    {
      "id": 0,
      "y": "50 %",
      "color": "#3f48cc"
    }
  ]
}
Название Тип Значение поумолчанию Описание
id number Задаётся неявно и равно индексу в массиве isolines. Уникальный идентификатор изолиннии.
y string Вычисляется автоматически как среднее значение сигнала. Положение изолинии по вертикальной оси. Может быть задано в пикселях или процентах.
color string #000000 Цвет изолинии на графике.

Блок signals

Блок signals описывает, как отображаются сигналы на графике.

{
  "signals": [
    {
      "id": 0,
      "type": "line",
      "drawMode": "roll",
      "color": [179, 128, 0, 255] ,
      "id_isoline": 0,
      "pointCount": 1,
      "title": "signal",
      "markViewId": 1
    }
  ]
}
Название Тип Значение поумолчанию Описание
id number Задаётся неявно и равно индексу в массиве signals. Уникальный идентификатор сигнала.
type string line Вид отображаемого сигнала, например, line или histogram.
drawMode string roll Тип отрисовки сигнал: roll — сигнал перерисовывается с начала графического окна при достижении его конца, создавая эффект «бегущей строки»., scroll — сигнал продолжает отрисовываться от текущего положения, сдвигая содержимое окна влево по мере поступления новых данных.
color string #000000 Цвет линии в формате RGBA или HEX.
id_isoline number Задаётся неявно и равно индексу в массиве signals. Идентификатор изолинии конфигурируемого сигнала. Связывает сигнал с изолинией, определенной в масстве isolines.
title string Название сигнала, отображаемое в интерфейсе.
markViewId Array<number>
или
number
Идентификатор метки или массив идентификаторов меток, отображаемых на выбранном сигнале. Метки, указанные в этом поле, имеют приоритет над метками, заданными на уровне channels. Подробнее см. в разделе. См. раздел Компонент marks.

Блок marks

Блок marks используется для привязки графических меток к одному или нескольким сигналам. Подробнее о типах и настройках меток см. в разделе Компонент marks.

{
  "marks":[
    {
      "markViewId": 1,
      "signalIds": []
    }
  ]
}
Название Тип Значение поумолчанию Описание
markViewId number ОБЯЗАТЕЛЬНОЕ Идентификатор визуального представления метки.
signalIds Array<number> ОБЯЗАТЕЛЬНОЕ Массив идентификаторов сигналов, к которым привязана метка. Если массив пуст, метка будет отображаться на всех сигналах канала.

В данном разделе приведено стандартное описание блока view. Подробнее о возможных конфигурациях можно узнать в разделе Расширенные настройки блока view