Basic Plot
Damped sine wave with pan/zoom interaction.
Damped Sine Wave
Source Code
#include <QApplication>
#include <QVBoxLayout>
#include <QWidget>
#include <cmath>
#include "AZPlottingClass.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.setWindowTitle("AZPlottingClass - Basic Demo");
window.resize(800, 500);
QVBoxLayout *layout = new QVBoxLayout(&window);
layout->setContentsMargins(0, 0, 0, 0);
AZPlottingClass *plot = new AZPlottingClass(&window);
// Generate damped sine wave data
QVector<double> x, y;
for (int i = 0; i < 500; ++i) {
double t = i * 0.02;
x.append(t);
y.append(std::sin(2 * M_PI * 2 * t) * std::exp(-t * 0.3));
}
// Add data series
plot->addDataSeries(x, y, "Damped Sine", Qt::blue,
AZPlottingClass::LineStyle::Solid, 2.0);
// Configure axes
plot->setTitle("Transient Response");
plot->setXAxisLabel("Time (s)");
plot->setYAxisLabel("Amplitude");
// Add horizontal reference line at zero
plot->addHorizontalLine(0, QColor(100, 100, 100), "", 0.5);
// Style and enable interaction
plot->applyProfessionalStyle();
plot->setInteractive(true, true);
plot->setCrosshairEnabled(true);
plot->setGridVisible(true, false);
plot->autoScaleAll();
layout->addWidget(plot);
window.show();
return app.exec();
}