GPU-Accelerated
Vulkan, Metal, and Direct3D 12 rendering via Qt RHI. 1M+ data points at 60 Hz — no software fallback.
Eigen-Native
Pass any Eigen::MatrixBase expression directly. No manual data conversion, no copies for contiguous vectors.
Real-Time Ready
Dynamic vertex buffers with automatic growth. Designed for EEG telemetry, sensor dashboards, and live simulations.
matplotlib for C++
A single #include, an Eigen vector, and a call to plot() — that's it. Hardware-accelerated rendering from native C++ types, no Python round-trip.
sine_plot.cpp
#include <skigen/plot/plotview.h>
#include <Eigen/Core>
#include <QApplication>
#include <numbers>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
Eigen::VectorXf x = Eigen::VectorXf::LinSpaced(500, 0.f,
4.f * std::numbers::pi_v<float>);
Eigen::VectorXf y = x.array().sin();
Skigen::Plot::PlotView view;
view.plot(x, y);
view.show();
return app.exec();
}60 Hz+at 1M points
C++23Modern standard
GPUVulkan / Metal / D3D12
EigenNative integration