Skip to content

QAccelPlot

QAccelPlot is a 2D plotting library for Qt Quick. Curves render through the Qt Scene Graph with GPU shaders, and C++ data paths replace large data sets every frame.

Key capabilities

  • Throughput — 1–10M points replaced and drawn every frame at 60 FPS, without downsampling
  • Data paths — QML points, double vectors, moved float buffers, and worker-thread postData()
  • Interaction — pan, cursor-centered, per-axis, and rectangle zoom, rescale, hover hit testing, and plot mouse events for custom tools
  • Inspection — crosshair, tooltip, nearest-data-point queries, and region selection with statistics
  • Invalid data points — NaN, ±Inf, and non-positive log values break or connect the curve consistently
  • Curves — solid, dashed, and marker-only styles; gradient fills and strokes; morph and draw transitions
  • Point clouds — PointCloud for large scatter data, colored uniformly or by value, with a ColorBar
  • Heatmaps — HeatmapSeries for grids of values colored through a colormap
  • Bars — BarSeries for vertical, horizontal, and grouped bar charts
  • Histograms — Histogram counts samples into equal or uneven bins, as counts or density
  • Bands — BandSeries for confidence intervals and envelopes
  • Error bars — ErrorBarSeries for symmetric and asymmetric errors, vertical or horizontal
  • Layout — secondary and extra axes, data-anchored QML overlays, and RectangleSeries for event spans and state timelines

Quick start

import QtQuick
import QAccelPlot as QAccelPlot

QAccelPlot.Plot {
    id: plot
    anchors.fill: parent
    xAxis: QAccelPlot.Axis { viewportMin: 0; viewportMax: 10 }
    yAxis: QAccelPlot.Axis { viewportMin: -1; viewportMax: 1 }
    QAccelPlot.LineCurve { xAxis: plot.xAxis; yAxis: plot.yAxis; color: "steelblue" }
}

See Getting started for the full build and data setup.

Explore the documentation

  • Getting started — CMake integration and a first plot.
  • Concepts — Axes, series, gaps, overlays, and threading.
  • Performance — Data paths, worker handoff, and the Performance Lab.
  • Cookbook — Recipes for common tasks.
  • Example gallery — Screenshots of every runnable example.
  • FAQ — Licensing, threading, and compatibility.
  • Troubleshooting — Blank curves, build errors, and stutter.
  • Versioning — Release numbers, pinning, and documentation versions.
  • API reference — Types, properties, methods, signals, and enums.

Each recipe links to a complete, runnable example.

Requirements

  • CMake 3.16 or newer
  • A C++17 compiler
  • Qt 6.2 or newer with Core, Gui, Quick, and ShaderTools
  • A hardware Qt Quick Scene Graph backend

QAccelPlot builds as a static library. Qt's QuickPrivate component is optional; see texture upload modes.

Licensing

GPLv3 with the Universal FOSS Exception, or a commercial license. See LICENSING.md. Qt is licensed separately.