Biblioteca gratuita e de código aberto para criar gráficos interativos em .NET, com suporte a apps GUI, consoles, Blazor e notebooks.
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
Configure um ambiente Dear ImGui caso ainda não tenha um
- 2
Adicione implot.h, implot_internal.h, implot.cpp e implot_items.cpp aos arquivos-fonte (ou instale pelo vcpkg)
- 3
Instale o ImPlot com o vcpkg
./vcpkg install implot - 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
Uma gramática JSON de alto nível para gráficos interativos declarativos, que compila especificações completas do Vega.
Toolkit de GUI em Python baseado no Dear ImGui, com renderização na GPU e APIs para plots, edição de nós e desenho.
Uma biblioteca de GUI em modo imediato fácil de usar para Rust, que roda na web e nativamente e pode ser incorporada a engines de jogos.
Biblioteca Python para criar visualizações de dados interativas, gráficos e dashboards que são renderizados em navegadores modernos.
Uma biblioteca de dataframe para Java que carrega, limpa, transforma e resume dados tabulares, com criação de gráficos baseada em Plotly.