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
floatbuffers, and worker-threadpostData() - 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 —
PointCloudfor large scatter data, colored uniformly or by value, with aColorBar - Heatmaps —
HeatmapSeriesfor grids of values colored through a colormap - Bars —
BarSeriesfor vertical, horizontal, and grouped bar charts - Histograms —
Histogramcounts samples into equal or uneven bins, as counts or density - Bands —
BandSeriesfor confidence intervals and envelopes - Error bars —
ErrorBarSeriesfor symmetric and asymmetric errors, vertical or horizontal - Layout — secondary and extra axes, data-anchored QML overlays, and
RectangleSeriesfor 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.