Инспектор данных
Инспектор данных — это приложение Engee, предназначенное для работы с результатами как одного моделирования, так и нескольких, то есть сравнительного анализа результатов нескольких запусков модели.
Два основных сценария использования Инспектора данных:
-
Анализ разных сигналов одной модели, в том числе сравнительный (сравнение разных сигналов одной модели).
-
Сравнительный анализ результатов разных запусков одной и той же модели (сравнение одного и того же сигнала, но при разных запусках модели).
Запуск Инспектора данных
Для запуска Инспектора данных откройте меню Приложения и выберите Инспектор данных:
После этого откроется отдельное окно браузера с интерфейсом Инспектор данных.
Пользовательский интерфейс
Окно состоит из двух областей: сигналов (1) и графиков (2).
Область сигналов
В области сигналов собраны все сигналы всех прогонов модели.
Для анализа сигнала после моделирования нужно еще до запуска модели пометить его как записываемый. Для этого нажмите по сигнальной линии и выберите значок записи :
|
Сигналы сгруппированы по прогонам. Последний прогон показан в верхней части области, все остальные собраны в списке Архив. При нажатии на имя прогона разворачивается окно его свойств, также доступна мини-панель управления прогоном:
На мини-панели доступно:
-
Комментарий — здесь можно описать особенности конкретного прогона, это поможет при сравнении с другими прогонами.
-
Сохранить — все сигналы прогона можно сохранить в CSV-файл:
-
Удалить — удаление прогона из Инспектора данных.
Удалить все архивные прогоны одновременно можно кнопкой Очистить:
Для каждого сигнала доступно изменение цвета и стиля линии. Для этого кликните мышью на цветной полоске справа от названия сигнала:
Флажок слева от названия сигнала предназначен для вывода сигнала на выбранные координатную плоскость.
Область графиков
В области графиков отображаются выбранные сигналы. При наведении мыши на координатную плоскость появляется панель инструментов:
-
Масштабировать — осуществляет масштабирование координатной плоскости. Появляется возможность выделить область и увеличить ее содержимое. Чтобы вернуть масштаб по умолчанию, дважды кликните на координатной плоскости левой кнопкой мыши.
-
Панорамировать — инструмент перемещения графика на координатной плоскости. Позволяет двигать график в любом направлении с помощью курсора мыши.
-
Увеличить масштаб — увеличивает масштаб координатной плоскости.
-
Уменьшить масштаб — уменьшает масштаб координатной плоскости.
-
Масштабировать автоматически — возвращает значение масштаба координатной плоскости по умолчанию.
-
Скачать график как PNG — сохраняет координатную плоскость в файл с форматом PNG.
-
Показывать ближайшие данные при наведении — отображает на графике значения при наведении на него указателя мыши.
-
Сравнивать данные при наведении — отображает значения на всех графиках.
-
Копировать в буфер обмена — копирует координатную плоскость в буфер обмена. Вы можете вставлять плоскость в Engee и другие сторонние программы.
-
Очистить — удаляет график с координатной плоскости.
Помимо основного набора инструментов вам доступны две кнопки:
-
Расположение осей — позволяет настроить поле вывода графиков. Предлагается выбор шаблонов расположения графиков из базовых пресетов или их самостоятельная настройка.
-
Отображение легенды — включает/отключает отображение легенды имени сигналов на координатной плоскости.
Хранение/загрузка прогонов
Результаты, полученные с помощью инспектора данных, можно сохранить в файл формата CSV:
Файл будет сохранен по пути /user/run_data
. Рекомендуется сохранять результаты всех важных прогонов, чтобы иметь возможность восстановить их при необходимости. Если прогоны были удалены из архива или недоступны для повторного анализа в инспекторе, их можно снова загрузить и воспроизвести с помощью WorkspaceArray:
-
Используйте функцию для очистки заголовков CSV-файла и записи в WorkspaceArray. Функция удалит лишние префиксы, цифры и пробелы (заголовок файла, предназначенный для экспорта в WorkspaceArray, должен содержать только названия столбцов
time
иvalue
без пробелов):function clean_csv_header(file_path::String) # Читаем строки из файла lines = readlines(file_path) # проверка целостности CSV-файла if !isempty(lines) # Удаляем префиксы, цифры и лишние пробелы из заголовка cleaned_header = join([strip(replace(split(col, ".") |> last, r"\d+" => "")) for col in split(lines[1], '\t')], '\t') # перезапись файла open(file_path, "w") do file write(file, cleaned_header * "\n") write(file, join(lines[2:end], "\n")) end else error("Файл пустой.") end end file_path = "/user/run_data/my_file.csv" #путь к CSV-файлу clean_csv_header(file_path) #очищение заголовка workspacecsv = WorkspaceArray("workspacearray_csv", "/user/run_data/my_file.csv") #запись в WorkspaceArray
-
Откройте инспектор данных, где в последнем прогоне отобразится переменная WorkspaceArray, содержащая данные симуляции или прогона:
Примеры использования
Анализ результатов одного моделирования
Рассмотрим для примера следующую модель:
Выходные сигналы блоков Sine Wave и Bias помечены как отслеживаемые. После завершения симуляции модели их можно увидеть в Инспекторе данных:
Чтобы добавить график сигнала на координатную плоскость, нужно установите флажок рядом с именем сигнала:
Опционально можно настроить поле вывода графиков. Нажмите кнопку расположения осей и выберите шаблон с двумя уменьшенными графиками слева и одним большим справа:
Значения сигналов видны при наведении мыши на график. Можно сравнить сигналы на одном графике. Для этого:
-
Установим флажки у тех сигналов, которые желаем сравнить.
-
Включим сравнение данных при наведении .
При наведении мыши отображаются значения обоих сигналов:
Сравнение нескольких прогонов модели
Инспектор данных позволяет сравнивать несколько прогонов модели между собой. Это удобно, например, для анализа влияния отдельного параметра (или группы параметров) на поведение модели в целом.
Изменим значение параметра в блоке Bias, и запустим моделирование. После завершения симуляции в Инспекторе данных актуальным стал новый прогон, а предыдущий доступен в списке Архив:
Сигналы из разных прогонов можно сравнить между собой так же, как и сигналы одной модели:
Прогоны и сигналы можно сравнить через вкладку "Сравнения". Прогоны сравниваются в рамках одной модели:
Сигналы могут сравниваться с разных моделей и прогонов: