Временная цветовая диаграмма

Временная цветовая диаграмма отображает историю изменения наборов данных (временной тренд в течение заданного временного диапазона) в виде столбцов, каждый из которых составляется из полосок различного цвета (цвет зависит от текущего значения отображаемого данным столбцом набора данных). Временная ось всегда расположена горизонтально и направлена вправо, поэтому и столбцы направлены точно так же. 

Временная цветовая диаграмма

При каждом обновлении диаграммы (как автоматическом, так и «ручном») вычисляются заново заданные в цветовых соответствиях диаграммы Выражения. Если для какого-то из отображаемых на диаграмме наборов данных выражение будет истинно (т.е. равно true), то полоска, соответствующая текущему моменту времени в столбце этого набора данных будет отображена цветом, заданным для этого выражения в цветовом сотответствии диаграммы, и остальные условия проверяться уже не будут. Если же это условие выполнено не будет, то будет проверяться следующее условие. Если не будет выполнено ни одно из заданных условий, то будет использоваться прозрачный цвет.

Этот объект может использоваться для визуализации изменения (дискретного) состояния объекта во времени, например, свободен/занят, транспортировка/загрузка/разгрузка/ремонт, и т.д. 

 Чтобы добавить временную цветовую диаграмму

  1. Перетащите элемент Временная цветовая диаграмма  из палитры Статистика в то место графического редактора, где вы хотите нарисовать диаграмму.
  2. В секции свойств Внешний вид, в поле Формат временной оси вы можете выбрать, хотите ли вы отображать значения времени у оси X диаграммы как количество Единиц модельного времени (0, 10, 20, ...), или же как модельную дату и время, отформатированные определенным образом (например, 2.04.2013 23:00, 3.04.2013 00:00, ..). Подробную информацию о возможных форматах отображения даты и времени вы можете найти здесь.

Свойства

Основные

Имя – Имя диаграммы. По этому имени диаграмма будет доступна из кода.

Исключить – Если опция выбрана, то диаграмма будет исключена из модели.

Отображается на верхнем уровне – Если опция выбрана, то диаграмма будет видна на презентации типа агента, в который будет вложен данный агент.

Временной диапазон - Здесь вы можете задать диапазон временной оси диаграммы (количество единиц модельного времени (N), для которого будут отображаться измеренные значения набора данных). Диаграмма будет отображать график только для заданного временного интервала - последних N единиц модельного времени.

Данные

 – С помощью этой кнопки вы можете добавить новый элемент данных на диаграмму. Щелкнув по ней, вы откроете новую секцию свойств, в которой вы должны будете задать свойства нового элемента данных, значения которого вы хотите отображать на диаграмме: 

Заголовок – Заголовок этого элемента данных, который будет отображаться в легенде диаграммы. 

Значение – [Видно, если выше выбрана опция Значение] Выражение, результат вычисления которого будет добавляться на диаграмму.

Набор данных – [Видно, если выше выбрана опция Набор данных] Имя набора данных, хранящего данные, которые вы хотите визуализировать на этой диаграмме.

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

Цветовое соответствие

Добавить цветовое соответствие – С помощью этой кнопки вы можете задать новое цветовое соответствие. В появившейся после щелчка новой секции свойств выберите Цвет и задайте Выражение. Если значение какого-то набора данных на момент обновления значений диаграммы будет удовлетворять заданному здесь выражению, то соответствующий текущему моменту времени интервал полоски этого набора данных будет отображен заданным здесь цветом.

Обновление данных

Обновлять данные автоматически - Если опция выбрана, то диаграмма будет производить обновление значений отображаемых на ней объектов данных с периодичностью, указанной в поле Период. Так же здесь вы можете выбрать, хотите ли вы Использовать модельное время, чтобы задать Время первого обновления, или вы хотите Использовать календарные даты, чтобы задать Дату обновления

Не обновлять данные автоматически - Если опция выбрана, то диаграмма не будет самостоятельно производить обновление значений отображаемых на ней объектов данных.

Отображать до ... последних значений (для данных типа "Значение") - Максимальное количество последних 
измерений, которое будет отображаться на диаграмме.
Задаваемое здесь значение не будет применимо к тем элементам данных, у которых выбрана опция Набор данных. У таких элементов данных количество значений будет определяться значением, заданным в аналогичном свойстве Хранить до... соответствующего набора данных.

Внешний вид

Относительная ширина столбцов – С помощью данного бегунка вы можете задавать суммарную ширину оснований столбцов (в процентах, относительно соответствующей размерности диаграммы, 100% - максимум, 50% - половина и т.д.).

Метки по оси X – С помощью данного выпадающего списка вы можете задать расположение меток, отображаемых для оси X, относительно области диаграммы (Снизу или Сверху). Если вы не хотите, чтобы у оси X отображались метки, выберите из списка Нет.

Формат временной оси – С помощью этого выпадающего списка вы можете выбрать формат временной оси диаграммы: хотите ли вы, чтобы по временной оси отображались Единицы модельного времени (например, 0, 10, 20, ..) или же Модельная дата определенного формата (например, Янв 21. 2009 23:00, Янв 22. 2009 01:00, ..). Подробнее все возможные форматы временной оси описаны здесь.

Цвет меток – Цвет, которым будут отображаться метки по оси Y. Если вы не хотите, чтобы метки были видны, выберите Нет цвета.

Цвет фона – Фоновый цвет диаграммы. 

Цвет границы – Цвет, которым будет отображаться граница диаграммы. 

Цвет сетки – Цвет, которым будет отображаться сетка диаграммы. Если вы не хотите, чтобы сетка была видна, выберите Нет заливки.

Местоположение и размер

X – X-координата верхнего левого угла диаграммы.

Y – Y-координата верхнего левого угла диаграммы.

Ширина – Ширина диаграммы (в пикселах).

Высота – Высота диаграммы (в пикселах).

Легенда

Легенда – Если опция выбрана, то у данной диаграммы будет отображаться легенда. Вы можете управлять местоположением легенды относительно области диаграммы с помощью группы кнопок Расположение. Размер области, выделенной под легенду, задается с помощью элемента управления Ширина (или Высота, в зависимости от того, какое задано Расположение легенды). Также вы можете изменить Цвет текста легенды.

Область диаграммы

Свойства, расположенные в секции Область диаграммы, задают визуальные свойства области диаграммы:

Смещение по оси X – Смещение области диаграммы по оси X относительно левой границы всей области, выделенной в графическом редакторе под диаграмму.

Смещение по оси Y – Смещение области диаграммы по оси Y относительно верхней границы всей области, выделенной в графическом редакторе под диаграмму.

Ширина – Ширина области диаграммы (в пикселах).

Высота – Высота области диаграммы (в пикселах).

Цвет фона – Фоновый цвет области диаграммы. 

Цвет границы – Цвет, которым будет отображаться граница области диаграммы. 

Специфические

Видимость – Видимость диаграммы.  Диаграмма будет видна, если заданное здесь выражение будет истинно (true), в противном случае диаграмма отображаться не будет.

Количество – Количество экземпляров данной диаграммы. Если вы оставите это поле пустым, то будет создана только одна такая диаграмма.

Действие при удалении элемента – Код, который будет выполняться, когда пользователь удалит с диаграммы какой-то один (или несколько) элемент(ов) данных. Код будет вызываться как в том случае, если пользователь удалит элементы из контекстного меню легенды диаграммы, так и в том случае, если он удалит  их программно путем вызова методов remove() и removeAll().
Вы можете использовать в этом коде две переменные:
int removedIndex - номер только что удаленного элемента данных.
boolean programmatically - определяет, был ли элемент удален программно (true) или нет (false).

Действие при изменении выделения – Код, который будет выполняться, когда пользователь выделит на диаграмме какой-то один (или несколько) элемент(ов) данных. Код будет вызываться как в том случае, если пользователь выделит элементы, щелкнув мышью по их заголовкам в легенде, так и в том случае, если он выделит  их программно путем вызова метода selectItem()
Вы можете использовать в этом коде две переменные:
int[] selectedIndices - номера выделенных в текущий момент элементов данных.
boolean programmatically - определяет, были ли элементы выделены программно (true) или нет (false).

Временное окно сдвигается – Здесь вы можете выбрать, будет ли временное окно сдвигаться Непрерывно, или же только в моменты добавления на график новых значений (По мере накопления данных).

Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.

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

 Чтобы добавить элемент данных на диаграмму
  1. Выделите диаграмму в графическом редакторе или в панели Проекты.
  2. Перейдите в секцию Данные панели Свойства.
  3. Щелкните мышью по кнопке . При этом над кнопкой появится новая секция свойств, задающая настройки нового элемента данных, который будет отображаться на данной диаграмме.
  4. Вначале выберите, что будет являться источником данных, которые вы хотите визуализировать - заданное вами Значение или Набор данных.
  5. Давайте объясним подробнее, в чем разница между этими двумя опциями. Если вы хотите, например, отображать на диаграмме динамику изменения значения переменной (или параметра) во времени, то вам нужно будет выбрать опцию Значение и ввести имя этой переменой (или параметра) в поле Значение. В этом поле можно задавать не только имена переменных или параметров, а и любое выражение. Это выражение будет вычисляться с заданной частотой, и результаты его вычисления будут добавляться на диаграмму.
  6. Если же вы хотите отображать на диаграмме данные, собираемые набором данных, то выберите опцию Набор данных и введите имя этого набора данных в расположенном ниже поле Набор данных.
  7. Задайте заголовок для этого элемента данных в поле Заголовок. Введенный здесь текст будет отображаться в легенде диаграммы.
 Чтобы удалить элемент данных с диаграммы
  1. Выделите диаграмму в графическом редакторе или в панели Проекты.
  2. Перейдите в секцию Данные панели Свойства.
  3. Выделите элемент данных, который вы хотите удалить с данной диаграммы, и щелкните мышью по кнопке  внизу секции Данные.

Теперь вам будет нужно задать цветовое соответствие между значениями элементов данных и цветами. 

 Чтобы задать цветовое соответствие
  1. Выделите диаграмму в графическом редакторе или в панели Проекты.
  2. Перейдите в секцию Цветовое соответствие панели Свойства.
  3. Щелкните мышью по кнопке Добавить цветовое соответствие. В появившейся после щелчка новой секции свойств выберите Цвет и задайте Выражение. Если значение какого-то набора данных на момент обновления значений диаграммы будет удовлетворять заданному здесь выражению, то соответствующий текущему моменту времени интервал полоски этого набора данных будет отображен заданным здесь цветом.

Функции

Местоположение

Функция

Описание

double getX()

Возвращает координату X диаграммы (а именно, ее левого верхнего угла).

double getY()

Возвращает координату Y диаграммы (а именно, ее левого верхнего угла).

void setX(double x)

Задает координату X диаграммы.

Параметр:
x - новое значение координаты X

void setY(double y)

Задает координату Y диаграммы.

Параметр:
y - новое значение координаты Y

void setPos(double x, double y)

Задает новые координаты диаграммы.

Параметры:
x - новое значение координаты X
y - новое значение координаты Y

Размер

Функция

Описание

double getWidth()

Возвращает ширину диаграммы.

double getHeight()

Возвращает высоту  диаграммы.

void setWidth(double w)

Задает новую ширину диаграммы.

Параметр:
w - новое значение ширины диаграммы

void setHeight(double h)

Задает новую высоту диаграммы.

Параметр:
h - новое значение высоты диаграммы

Видимость

Функция

Описание

boolean isVisible()

Проверяет видимость диаграммы: если диаграмма отображается, то функция возвращает true, если не отображается - то false.

void setVisible(boolean v)

Устанавливает видимость диаграммы.

Параметр:
v - видимость: если true - диаграмма становится видимой,
                            если false - невидимой.

Добавление и удаление элементов данных диаграммы

Функция

Описание

void addDataSet(DataSet ds)

Добавляет на диаграмму набор данных с заголовком "Data set".

Параметры:
ds - набор данных для добавления

void addDataSet
(DataSet ds,
String title)

Добавляет на диаграмму набор данных с заданным заголовком.

Параметры:
ds - набор данных для добавления
title - заголовок набора данных

int getCount()

Возвращает количество элементов данных, отображаемых этой диаграммой.

ChartItem get(int i)

Возвращает элемент диаграммы (DataItem, DataSet, и т.д.) с заданным индексом i.

String getTitle(int i)

Возвращает заголовок элемента диаграммы с заданным индексом i.

void remove(int i)

Удаляет элемент с заданным индексом i с диаграммы.

int remove(ChartItem ci)

Удаляет заданный элемент  (DataItem, DataSet) с диаграммы.

Параметр:
ci - набор данных для удаления

void removeAll()

Удаляет все элементы с диаграммы.

Выделение элементов данных

Функция

Описание

void selectItem(int itemIndex, boolean selected)

Выделяет/снимает выделение (это зависит от значения selected) с элемента диаграммы с заданным индексом.

Параметры:
itemIndex - индекс элемента диаграммы
selected - если true, то выделяет элемент, если false, то снимает выделение

void setSelectedItemIndices(int[] selectedIndices)

Выделяет элементы диаграммы с заданными индексами. Если ранее были выделены какие-то другие элементы, то это выделение будет снято.

Параметр:
selectedIndices - массив индексов элементов диаграмм, которые будут выделены, может быть равен null - тогда выделение будет снято со всех элементов

int[] getSelectedItemIndices()

Возвращает количество элементов диаграммы, выделенных на диаграмме.

Ручное обновление данных диаграммы

Функция

Описание

void updateData()

Обновляет все элементы данных, отображаемые на этой диаграмме. 

Копирование данных диаграммы в буфер обмена

Функция

Описание

String copyToClipboard()

Копирует все данные диаграммы в системный буфер обмена в виде таблицы разделенных табуляцией значений (при необходимости - с использованием линейной интерполяции). Таблица может хранить до 1000 значений. 

Возвращает текстовое представление всех данных диаграммы.


См. также

 Режимы масштабирования диаграмм

 Масштабирование временных диаграмм

 Область диаграммы

 Легенда диаграммы

 Сетка и метки диаграммы

 Обновление диаграмм

 Динамическое изменение внешнего вида диаграммы

 Справочник классов: Класс TimeColorChart