/** \example jkqtplotter_simpletest.cpp * A very basic example for the usage of JKQTPlotter * * \ref JKQTPlotterSimpleTest */ #include #include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/graphs/jkqtpscatter.h" int main(int argc, char* argv[]) { #if QT_VERSION >= QT_VERSION_CHECK(5,6,0) && QT_VERSION < QT_VERSION_CHECK(6,0,0) QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps #endif #if QT_VERSION >= QT_VERSION_CHECK(5,6,0) && QT_VERSION < QT_VERSION_CHECK(6,0,0) QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps #endif QApplication app(argc, argv); // 1. create a plotter window and get a pointer to the internal datastore (for convenience) JKQTPlotter plot; JKQTPDatastore* ds=plot.getDatastore(); // 2. now we create data for a simple plot (a sine curve) QVector X, Y; const int Ndata=100; for (int i=0; iaddCopiedColumn(X, "x"); size_t columnY=ds->addCopiedColumn(Y, "y"); // 4. create a graph in the plot, which plots the dataset X/Y: JKQTPXYLineGraph* graph1=new JKQTPXYLineGraph(&plot); graph1->setXColumn(columnX); graph1->setYColumn(columnY); graph1->setTitle(QObject::tr("sine graph")); // 5. add the graph to the plot, so it is actually displayed plot.addGraph(graph1); // 6. autoscale the plot so the graph is contained plot.zoomToFit(); // show plotter and make it a decent size plot.getPlotter()->setPlotLabel(QObject::tr("Graph Title")); plot.show(); plot.resize(600,400); return app.exec(); }