An immediate mode, GPU-accelerated plotting library for Dear ImGui, designed for real-time data visualization.
ImPlot is an immediate mode plotting library for Dear ImGui that provides GPU-accelerated, interactive plots for real-time data visualization. It solves the need for fast, integrated plotting within ImGui applications, allowing developers to visualize program data with minimal code and no external dependencies.
Developers using Dear ImGui who need to embed interactive, real-time plots in their applications, such as those in simulation, debugging, or data monitoring tools.
It offers a seamless ImGui-like API with high performance, extensive plot types, and full customization, making it the go-to plotting solution for the ImGui ecosystem without the overhead of traditional GUI libraries.
Immediate Mode Plotting
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables real-time plotting of large datasets with smooth rendering, as highlighted in the README's feature list for high-performance applications.
Uses the same immediate mode API as Dear ImGui, making it intuitive for existing ImGui developers to add plots with minimal code, as shown in the usage example.
Provides zoom, pan, selection, and query tools out of the box, demonstrated in the demo screenshots and features for enhanced user interaction.
Supports multiple numeric types and custom striding, allowing flexible data input without conversion overhead, as detailed in the FAQ on data types.
Cannot save plots directly to image files; users must rely on OS-level screen capture, limiting use for documentation purposes, as admitted in the FAQ.
Requires configuring ImGui for 32-bit indices or handling vertex offsets to avoid truncation with high-density plots, adding complexity, as warned in the 'Extremely Important Note'.
While GPU-accelerated, plotting millions of points may not be smooth, necessitating downsampling for optimal performance, as noted in the FAQ on large datasets.