Repolode
epezent

epezent/implot

Biblioteca de gráficos em modo imediato, acelerada por GPU, para Dear ImGui, voltada a gráficos interativos e em tempo real em apps C++.

Estrelas
6,270
Forks
699
Issues abertas
121
Último commit
há 13 dias

O que é?

ImPlot é uma biblioteca de gráficos em C++ criada sobre o Dear ImGui e que segue o mesmo estilo de modo imediato: você chama funções de plotagem a cada frame entre BeginPlot e EndPlot, sem precisar gerenciar estado persistente da GUI. Ela foi pensada para visualizar dados de aplicações em tempo real e explorá-los de forma interativa, não para criar figuras com qualidade de publicação ou exportá-las.

A biblioteca oferece gráficos de linhas, áreas preenchidas, dispersão, barras, barras de erro, hastes, degraus, pizza, mapas de calor, histogramas e imagens; vários desses tipos podem ser combinados em um mesmo gráfico. Os eixos aceitam escalas lineares e logarítmicas, eixos x com formatação de tempo, vários eixos x e y, subplots, zoom, navegação, seleção retangular e intervalos de consulta. Os headers e arquivos de código-fonte não têm dependências além do ImGui e evitam containers da STL na API pública.

Os dados podem ser fornecidos como float, double ou inteiros com sinal e sem sinal de 8 a 64 bits, com stride ou callbacks de getter para estruturas personalizadas. Para integrar a biblioteca, basta adicionar os arquivos de código-fonte ao projeto e criar um contexto do ImPlot junto com o contexto do ImGui.

Recursos principais

  • 01API em modo imediato que segue o padrão BeginX/EndX do ImGui
  • 02Renderização acelerada por GPU, com vários tipos de gráficos, incluindo mapas de calor e histogramas
  • 03Escalas lineares e logarítmicas nos eixos, eixos x com formatação de tempo e vários eixos x/y
  • 04Zoom, navegação, seleção retangular e intervalos de consulta persistentes e interativos
  • 05Estilo que acompanha o tema atual do ImGui ou pode ser totalmente personalizado

Casos de uso

  • Visualizar dados de sensores ou telemetria em tempo real dentro de uma ferramenta desktop em C++
  • Criar painéis interativos de depuração ou monitoramento com base no Dear ImGui
  • Explorar sinais ou séries temporais com zoom e seleção de intervalos

Início rápido

  1. 1

    Configure um ambiente Dear ImGui caso ainda não tenha um

  2. 2

    Adicione implot.h, implot_internal.h, implot.cpp e implot_items.cpp aos arquivos-fonte (ou instale pelo vcpkg)

  3. 3

    Instale o ImPlot com o vcpkg

    ./vcpkg install implot
  4. 4

    Crie um ImPlotContext junto com o seu ImGuiContext

Antes de usar

  • Não é adequado para gráficos com qualidade de publicação nem para exportá-los como arquivos de imagem.
  • O Dear ImGui usa índices de 16 bits por padrão, então gráficos densos, como mapas de calor, precisam de uma alteração na configuração ou de suporte do renderizador.

Em coleções

Tópicos

Perguntas frequentes

O que é implot?
Biblioteca de gráficos em modo imediato, acelerada por GPU, para Dear ImGui, voltada a gráficos interativos e em tempo real em apps C++. ImPlot é uma biblioteca de gráficos em C++ criada sobre o Dear ImGui e que segue o mesmo estilo de modo imediato: você chama funções de plotagem a cada frame entre BeginPlot e EndPlot, sem precisar gerenciar estado persistente da GUI. Ela foi pensada para visualizar dados de aplicações em tempo real e explorá-los de forma interativa, não para criar figuras com qualidade de publicação ou exportá-las.
implot é gratuito? Qual é a licença?
implot é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
implot ainda é mantido?
Manutenção ativa. O último commit de implot foi em 25 de out. de 2026.
Para que posso usar implot?
Visualizar dados de sensores ou telemetria em tempo real dentro de uma ferramenta desktop em C++ Criar painéis interativos de depuração ou monitoramento com base no Dear ImGui Explorar sinais ou séries temporais com zoom e seleção de intervalos
Como instalar implot?
Configure um ambiente Dear ImGui caso ainda não tenha um Adicione implot.h, implot_internal.h, implot.cpp e implot_items.cpp aos arquivos-fonte (ou instale pelo vcpkg) Instale o ImPlot com o vcpkg: ./vcpkg install implot Crie um ImPlotContext junto com o seu ImGuiContext
Onde consigo implot?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/epezent/implot

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados