Repolode
epezent

epezent/implot

Библиотека для GPU-ускоренной визуализации графиков в immediate mode для Dear ImGui — подходит для интерактивных графиков в реальном времени в приложениях на C++.

Звёзды
6,270
Форки
699
Открытые issues
121
Последний коммит
13 дней назад

Что это?

ImPlot — библиотека для построения графиков на C++, созданная на базе Dear ImGui и использующая тот же стиль immediate mode: функции построения графиков вызываются каждый кадр между BeginPlot и EndPlot, поэтому управлять сохраняемым состоянием GUI не нужно. Библиотека предназначена для визуализации данных приложения в реальном времени и интерактивного анализа, а не для создания или экспорта графиков для публикаций.

Библиотека поддерживает линейные, залитые, точечные графики, столбчатые диаграммы, графики с полосами погрешностей, stem- и ступенчатые графики, круговые диаграммы, heatmap, гистограммы и изображения; некоторые из них можно комбинировать на одном графике. Для осей доступны линейный и логарифмический масштабы, форматирование оси x для отображения времени, несколько осей x и y, подграфики, масштабирование, панорамирование, выделение области и диапазоны запросов. Заголовочные файлы и исходный код не имеют зависимостей, кроме ImGui, а в публичном API не используются контейнеры STL.

Данные можно передавать в формате float, double или знаковых и беззнаковых целых чисел разрядностью от 8 до 64 бит; для пользовательских структур можно задать шаг элементов или callbacks-геттеры. Для интеграции достаточно добавить исходные файлы в проект и создать контекст ImPlot наряду с контекстом ImGui.

Ключевые возможности

  • 01API в стиле immediate mode, повторяющий шаблон BeginX/EndX из ImGui
  • 02GPU-ускоренная отрисовка множества типов графиков, включая heatmap и гистограммы
  • 03Линейный и логарифмический масштабы осей, форматирование оси x для отображения времени, несколько осей x/y
  • 04Интерактивное масштабирование, панорамирование, выделение области и сохраняемые диапазоны запросов
  • 05Оформление в соответствии с текущей темой ImGui или полная настройка стилей

Сценарии использования

  • Визуализация данных с датчиков или телеметрии в реальном времени во встроенном инструменте для C++
  • Создание интерактивных панелей отладки или мониторинга на базе Dear ImGui
  • Анализ сигналов и временных рядов с масштабированием и выбором диапазонов

Быстрый старт

  1. 1

    Настройте окружение Dear ImGui, если у вас его ещё нет

  2. 2

    Добавьте implot.h, implot_internal.h, implot.cpp и implot_items.cpp в исходные файлы (или установите через vcpkg)

  3. 3

    Установите ImPlot с помощью vcpkg

    ./vcpkg install implot
  4. 4

    Создайте ImPlotContext вместе с ImGuiContext

Что важно знать

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

В подборках

Темы

Частые вопросы

Что такое implot?
Библиотека для GPU-ускоренной визуализации графиков в immediate mode для Dear ImGui — подходит для интерактивных графиков в реальном времени в приложениях на C++. ImPlot — библиотека для построения графиков на C++, созданная на базе Dear ImGui и использующая тот же стиль immediate mode: функции построения графиков вызываются каждый кадр между BeginPlot и EndPlot, поэтому управлять сохраняемым состоянием GUI не нужно. Библиотека предназначена для визуализации данных приложения в реальном времени и интерактивного анализа, а не для создания или экспорта графиков для публикаций.
implot можно использовать бесплатно? Какая у него лицензия?
implot распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
implot всё ещё поддерживается?
Активно поддерживается. Последний коммит в implot — 25 окт. 2026 г..
Для чего можно использовать implot?
Визуализация данных с датчиков или телеметрии в реальном времени во встроенном инструменте для C++ Создание интерактивных панелей отладки или мониторинга на базе Dear ImGui Анализ сигналов и временных рядов с масштабированием и выбором диапазонов
Как установить implot?
Настройте окружение Dear ImGui, если у вас его ещё нет Добавьте implot.h, implot_internal.h, implot.cpp и implot_items.cpp в исходные файлы (или установите через vcpkg) Установите ImPlot с помощью vcpkg: ./vcpkg install implot Создайте ImPlotContext вместе с ImGuiContext
Где скачать implot?
Исходный код и инструкции по установке — на GitHub: https://github.com/epezent/implot

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Простая в использовании библиотека immediate mode GUI для Rust, работающая в браузере и нативных приложениях и встраиваемая в игровые движки.

32,1 тыс.+200 за неделю2,3 тыс.RustApache-2.0Обновлён вчера

Библиотека Python для создания интерактивных визуализаций данных, графиков и дашбордов, отображаемых в современных веб-браузерах.

20,5 тыс.+4 за неделю4,3 тыс.TypeScriptBSD-3-ClauseАктивно поддерживаетсяОбновлён 2 часа назад