Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Разработка программного средства визуализации циклических событий

Информационные технологии
03.08.2026
Поделиться
Аннотация
В статье рассматривается разработка настольного программного средства для визуализации повторяющихся временных процессов. Описаны модель циклических событий, структура модуля визуализации, компоновка интерфейса и отображение точечных и интервальных дат. Архитектура отделяет данные от графического слоя и допускает расширение набора циклов.
Библиографическое описание
Тагунков, М. В. Разработка программного средства визуализации циклических событий / М. В. Тагунков. — Текст : непосредственный // Молодой ученый. — 2026. — № 31 (634). — URL: https://moluch.ru/archive/634/139586.


Введение

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

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

Принципы визуального представления циклических событий

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

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

Архитектура программного средства

Программное средство построено модульно: данные о событиях отделены от интерфейса и библиотеки построения графиков. Благодаря этому можно изменять способ хранения, добавлять новые циклы и заменять отдельные элементы визуализации без переработки приложения. Общая структура подсистемы представлена на рисунке 1.

Структура подсистемы визуализации циклических событий

Рис. 1. Структура подсистемы визуализации циклических событий

Исходный набор содержит точечные даты и интервалы. Для каждой записи сохраняются начальная дата, необязательная конечная дата, подпись и признак видимости. Модель связывает записи с графическими панелями, а модуль визуализации создаёт линии циклов, маркеры, подписи осей и интерактивные области. Все элементы объединяются в главной форме.

Реализация выполнена на C# с использованием Windows Forms, предоставляющей стандартные контейнеры, списки, кнопки и диалоговые окна [3]. Графики строятся библиотекой ScottPlot, поддерживающей кривые, маркеры, масштабирование и динамическое обновление [2]. После добавления, удаления или изменения события панели получают актуальный набор объектов и перерисовываются.

Организация пользовательского интерфейса

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

Компоновка главной экранной формы программного средства

Рис. 2. Компоновка главной экранной формы программного средства

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

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

Отображение точечных и интервальных событий

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

Интервальное событие обозначается двумя маркерами. Для короткого диапазона границы соединяются линией; для протяжённого соединение может не отображаться, чтобы не создавать ложного впечатления о траектории изменения. Основные варианты кодирования показаны на рисунке 3.

Визуальное кодирование точечных дат и диапазонов

Рис. 3. Визуальное кодирование точечных дат и диапазонов

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

Интерактивное взаимодействие и расширение визуализатора

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

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

Заключение

Разработанное средство обеспечивает компактное представление повторяющихся временных процессов. События разных календарных периодов приводятся к одному циклу; поддерживаются точечные даты, диапазоны, несколько параллельных панелей, редактирование и синхронное выделение объектов.

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

Литература:

  1. Aigner W., Miksch S., Schumann H., Tominski C. Visualization of Time-Oriented Data. 2nd ed. Cham: Springer Nature, 2023. DOI: 10.1007/978–1–4471–7527–8.
  2. ScottPlot. Interactive Plotting Library for.NET [Электронный ресурс] // ScottPlot: официальный сайт. URL: https://scottplot.net/ (дата обращения: 05.05.2026).
  3. Windows Forms for.NET documentation [Электронный ресурс] // Microsoft Learn. URL: https://learn.microsoft.com/en-us/dotnet/desktop/winforms/ (дата обращения: 05.05.2026).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Похожие статьи

Молодой учёный