Repolode
epezent

epezent/implot

Dear ImGui용 즉시 모드 GPU 가속 플로팅 라이브러리로, C++ 앱에서 실시간 대화형 그래프를 그릴 수 있습니다.

스타
6,272
포크
699
열린 이슈
121
마지막 커밋
13일 전

어떤 프로젝트인가요?

ImPlot은 Dear ImGui를 기반으로 같은 즉시 모드 방식을 따르는 C++ 플로팅 라이브러리입니다. 매 프레임 BeginPlot과 EndPlot 사이에서 플로팅 함수를 호출하며, 유지되는 GUI 상태를 직접 관리할 필요가 없습니다. 출판용 고품질 그림이나 내보내기용 그래프보다는 애플리케이션 데이터를 실시간으로 시각화하고 대화형으로 탐색하는 데 초점을 둡니다.

라이브러리는 선, 음영 영역, 산점도, 막대, 오차 막대, 스템, 계단, 파이, 히트맵, 히스토그램, 이미지 플롯을 지원하며, 이 중 여러 유형을 하나의 플롯에 함께 표시할 수 있습니다. 축은 선형 및 로그 스케일, 시간 형식의 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 통계는 매일 갱신됩니다.

관련 프로젝트