AnyLogic
Развернуть
Размер шрифта

Временной график

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

Временной график

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

Чтобы добавить временной график

  1. Перетащите элемент Временной график  из палитры Статистика в то место графического редактора, где вы хотите нарисовать график.
  2. Перейдите в секцию Данные панели Свойства.
  3. Вначале выберите, что будет являться источником данных, которые вы хотите визуализировать - заданное вами Значение или Набор данных.
    • Если вы хотите, например, отображать на диаграмме график динамики изменения значения переменной (или параметра) во времени, то вам нужно будет выбрать опцию Значение и ввести имя этой переменной (или параметра) в поле Значение. В этом поле можно задавать не только имена переменных или параметров, но и любое выражение. Это выражение будет вычисляться с заданной частотой, и результаты его вычисления будут добавляться на график.
    • Если же вы хотите отображать на графике данные, собираемые набором данных, то выберите опцию Набор данных и введите имя этого набора данных в расположенном ниже поле Набор данных.
  4. Задайте заголовок для элемента данных в поле Заголовок. Введенный здесь текст будет отображаться в легенде графика.
  5. Выберите тип маркера, которым будут отмечаться на графике значения данного элемента данных (эти значения могут соединяться линиями согласно выбранному типу интерполяции), из выпадающего списка Стиль маркера.
  6. Если нужно, измените цвет, которым данный элемент данных будет отображаться на графике с помощью элемента управления Цвет.
  7. Если вы хотите, чтобы значения этого элемента данных соединялись на графике линиями, установите флажок Рисовать линию и задайте дополнительные параметры линии с помощью приведенных ниже элементов управления. Задайте тип интерполяции (Линейная или Ступенчатая) с помощью выпадающего списка Интерполяция. Опционально, измените Толщину линии.
  8. В секции свойств Внешний вид, в поле Формат временной оси вы можете выбрать, хотите ли вы отображать значения времени у оси X диаграммы как количество Единиц модельного времени (0, 10, 20, …), или же как модельную дату и время, отформатированные определенным образом (например, 2.04.2013 23:00, 3.04.2013 00:00, …). Подробную информацию о возможных форматах отображения даты и времени вы можете найти здесь.

Чтобы добавить элемент данных на график

Новый временной график уже содержит элемент данных. Если вы хотите добавить еще один элемент данных, выполните следующие шаги:

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

Чтобы удалить элемент данных с графика

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

Свойства

Основные

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

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

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

Данные

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

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

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

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

Стиль маркера — Тип маркера, которым будут отмечаться на графике значения этого элемента данных (эти значения могут соединяться линиями согласно выбранному типу интерполяции).

Толщина линии — [Отображается, если установлен флажок Рисовать линию] Толщина линии, соединяющей значения элемента данных на графике.

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

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

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

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

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

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

Масштабирование

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

Вертикальная шкала — Здесь вы можете выбрать режим масштабирования вертикальной шкалы диаграммы. Выберите режим авто-масштабирования (Авто), либо же Фиксированный режим, при котором вертикальная шкала диаграммы будет иметь четко заданные минимум и максимум (задающиеся в полях От и До).

Внешний вид

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

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

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

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

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

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

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

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

Заливка области под линией — [Отображается, если установлен флажок Рисовать линию] Если опция выбрана, то область под линией будет закрашиваться цветом этой линии.

Интерполяция — [Отображается, если установлен флажок Рисовать линию] Задает тип интерполяции графика, т.e. то, какие значения будут отрисовываться для элемента данных на графике между двумя его соседними измеренными значениями. Поддерживается два типа интерполяции:

Линейная — два соседних значения элемента данных будут соединяться прямым отрезком линии.
Ступенчатая — точки будут соединяться «ступенью» — то есть, двумя отрезками прямых. На всем интервале между двумя соседними значениями y-значение будет везде одно и то же и равно y-значению ранее добавленной точки.

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

Уровень — Уровень, на котором расположена эта диаграмма.

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

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

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

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

Легенда

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

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

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

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

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

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

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

Цвет фона — Фоновый цвет области диаграммы. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета.

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

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

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

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

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

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

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

Вести журнал в базе данных — Если опция выбрана, то данные, собранные этим элементом, будут добавлены в журнал выполнения модели datasets_log (если в свойствах базы данных выбрана опция вести журналы).

Функции

Данные диаграммы
Функция Описание
void addDataSet(DataSet ds) Добавляет на диаграмму набор данных с заголовком Data set и заданным по умолчанию стилем отображения с помощью линии голубого цвета толщиной 1, соединяющей точки значений согласно линейной интерполяции (маркеры самих точек не рисуются).

ds — набор данных для добавления
void addDataSet(DataSet ds, String title) Добавляет на диаграмму набор данных с заданным заголовком. На графике отображается линия голубого цвета толщиной 1, соединяющая точки значений согласно линейной интерполяции (маркеры самих точек не рисуются).

ds — набор данных для добавления
title — заголовок набора данных
void addDataSet(DataSet ds, String title, Color color, boolean drawLine, int interpolationType, float lineWidth, int pointStyle) Добавляет на диаграмму набор данных с заданным заголовком и стилем отображения.

ds — набор данных для добавления
title — заголовок набора данных
color — цвет элемента данных на графике
drawLine — если true, то значения будут соединяться линией, если false, то нет
interpolationType — тип интерполяции, согласно которому будут соединяться точки значений:
TimePlot.INTERPOLATION_LINEAR — линейная интерполяция;
TimePlot.INTERPOLATION_STEP — ступенчатая.
lineWidth — толщина линии (при значении 0 рисуется линий наименьшей возможной толщины)
pointStyle — тип маркера для точек значений:
TimePlot.POINT_NONE — нет маркеров;
TimePlot.POINT_SQUARE — квадраты;
TimePlot.POINT_CIRCLE — круги;
TimePlot.POINT_TRIANGLE — треугольники.
int getCount() Возвращает количество элементов данных, отображаемых этой диаграммой.
ChartItem get(int i) Возвращает элемент диаграммы (DataItem, DataSet, и т.д.) с заданным индексом.

i — индекс элемента данных
String getTitle(int i) Возвращает заголовок элемента данных с заданным индексом i.

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

i - индекс элемента диаграммы
void setColor(int i, Color c) Задает новый цвет элемента диаграммы (DataItem, DataSet) с заданным индексом.

i — индекс элемента диаграммы;
c — новый цвет элемента диаграммы.
void remove(int i) Удаляет элемент с заданным индексом i с диаграммы.
int remove(ChartItem ci) Удаляет заданный элемент (DataItem, DataSet) с диаграммы.

ci - набор данных для удаления
void removeAll() Удаляет все элементы с диаграммы.
Шкала значений
Функция Описание
void setFixedVerticalScale(double minimum, double maximum) Задает фиксированный диапазон значений для вертикальной оси (оси Y) диаграммы.

minimum — минимальное значение по оси Y
maximum — максимальное значение по оси Y
Выделение элементов данных
Функция Описание
void selectItem(int itemIndex, boolean selected) Выделяет/снимает выделение (это зависит от значения параметра selected) с элемента диаграммы с заданным индексом.

itemIndex — индекс элемента диаграммы
selected — если true, то выделяет элемент, если false, то снимает выделение
void setSelectedItemIndices(int[] selectedIndices) Выделяет элементы диаграммы с заданными индексами. Если ранее были выделены какие-то другие элементы, то это выделение будет снято.

selectedIndices — массив индексов элементов диаграмм, которые будут выделены, может быть равен null — тогда выделение будет снято со всех элементов
int[] getSelectedItemIndices() Возвращает количество элементов диаграммы, выделенных на диаграмме.
Ручное обновление данных диаграммы
Функция Описание
void updateData() Обновляет все элементы данных, отображаемые на этой диаграмме.
Местоположение
Функция Описание
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 — невидимой.
Копирование данных диаграммы в буфер обмена
Функция Описание
String copyToClipboard() Копирует все данные диаграммы в системный буфер обмена в виде таблицы разделенных табуляцией значений (при необходимости — с использованием линейной интерполяции). Таблица может хранить до 1000 значений.
Функция возвращает текстовое представление всех данных диаграммы.
Как мы можем улучшить эту статью?