GUIアプリ、コンソール、Blazor、ノートブックでチャートを描画できる、無料のオープンソース.NET向けインタラクティブプロットライブラリ。
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
まだ Dear ImGui 環境がない場合はセットアップします
- 2
implot.h、implot_internal.h、implot.cpp、implot_items.cpp をソースに追加します(または vcpkg でインストールします)
- 3
vcpkg で ImPlot をインストールします
./vcpkg install implot - 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 の数値は毎日更新されます。
関連プロジェクト
宣言的なインタラクティブチャートを記述する高水準JSON文法で、完全なVega仕様にコンパイルします。
GPUで描画するDear ImGuiベースのPython GUIツールキット。プロット、ノードエディター、描画APIを備えています。
Webとネイティブ環境で動作し、ゲームエンジンにも組み込める、Rust製の使いやすい即時モードGUIライブラリです。
最新のWebブラウザーで動作する、インタラクティブなデータ可視化、プロット、ダッシュボードを構築するためのPythonライブラリです。
表形式データの読み込み、クリーニング、変換、要約と、Plotlyベースのチャート作成に対応するJava向けデータフレームライブラリです。