Repolode
epezent

epezent/implot

Dear ImGui向けの即時モード対応GPU高速化プロットライブラリ。C++アプリでリアルタイムかつ対話的なグラフを描画できます。

スター
6,270
フォーク
699
未解決の Issue
121
最終コミット
13 日前

これは何?

ImPlotはDear ImGuiをベースにしたC++向けプロットライブラリで、同じ即時モードのスタイルを採用しています。BeginPlotとEndPlotの間で毎フレーム描画関数を呼び出すため、保持されたGUI状態を管理する必要はありません。公開用の高品質な図やエクスポート用の図ではなく、アプリケーションのデータをリアルタイムで可視化し、対話的に探索することを目的としています。

折れ線、塗りつぶし、散布図、棒、エラーバー、ステム、階段、円、ヒートマップ、ヒストグラム、画像の各プロットに対応しており、複数の種類を1つのプロットに組み合わせることもできます。軸では線形・対数スケール、時刻形式のx軸、複数のx軸・y軸、サブプロットに加え、ズーム、パン、範囲選択、クエリ範囲を利用できます。ヘッダーとソースはImGui以外に依存せず、公開APIではSTLコンテナを使用しません。

データはfloat、double、または8~64ビットの符号付き・符号なし整数で渡せます。独自の構造体にはストライドやgetterコールバックを利用できます。導入するには、ソースファイルをプロジェクトに追加し、ImGuiのコンテキストと併せてImPlotのコンテキストを作成します。

主な機能

  • 01ImGuiのBeginX/EndXパターンに沿った即時モードAPI
  • 02ヒートマップやヒストグラムなど、さまざまなプロット形式に対応したGPU高速描画
  • 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

    vcpkg で ImPlot をインストールします

    ./vcpkg install implot
  4. 4

    ImGuiContext と並行して ImPlotContext を作成します

使う前に知っておきたいこと

  • 出版品質のプロットや、プロットを画像ファイルにエクスポートする用途には適していません。
  • Dear ImGui はデフォルトで 16 ビットインデックスを使用するため、ヒートマップのような高密度プロットには、設定の変更またはレンダラーの対応が必要です。

収録されている特集

トピック

よくある質問

implot とは?
Dear ImGui向けの即時モード対応GPU高速化プロットライブラリ。C++アプリでリアルタイムかつ対話的なグラフを描画できます。 ImPlotはDear ImGuiをベースにしたC++向けプロットライブラリで、同じ即時モードのスタイルを採用しています。BeginPlotとEndPlotの間で毎フレーム描画関数を呼び出すため、保持されたGUI状態を管理する必要はありません。公開用の高品質な図やエクスポート用の図ではなく、アプリケーションのデータをリアルタイムで可視化し、対話的に探索することを目的としています。
implot は無料で使えますか?ライセンスは?
implot は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
implot は今もメンテナンスされていますか?
活発にメンテナンス中。implot の最終コミットは 2026年10月25日 です。
implot は何に使えますか?
C++製デスクトップツール内で、センサーやテレメトリのリアルタイムデータを可視化する Dear ImGuiを使った対話的なデバッグ・監視パネルを構築する ズームや範囲選択を使って、信号や時系列データを探索する
implot のインストール方法は?
まだ Dear ImGui 環境がない場合はセットアップします implot.h、implot_internal.h、implot.cpp、implot_items.cpp をソースに追加します(または vcpkg でインストールします) vcpkg で ImPlot をインストールします: ./vcpkg install implot ImGuiContext と並行して ImPlotContext を作成します
implot はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/epezent/implot

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト