Qwt Plot
-
Versuche gerade mit Qwt 3 Werte zu plotten. Jedoch gibt
error C2660: 'QwtPlotSeriesItem<T>::setData': Funktion akzeptiert keine 3 Argumente
aus. Das dürfte aber nicht passieren.
Erstellt wurde das Widget im QT Designer.class tpopt : public QMainWindow { Q_OBJECT public: tpopt(QWidget *parent = 0, Qt::WFlags flags = 0); ~tpopt(); QwtPlotCurve *curve1; … public slots: void plot1(); }
tpopt::tpopt(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { curve1 = new QwtPlotCurve(); curve1->attach(ui.qwtPlot); …}
void tpopt::plot1() { double x1[3]={1,2,7}; double y1[3]={1,2,3}; curve1->setData(x1,y1, 3); <------------------------ ui.qwtPlot->replot(); }
-
Du benützt die falsche Methode.
Siehe Methoden ab http://qwt.sourceforge.net/class_qwt_plot_curve.html#afd13c94e23520dacbc37b4d0fd036a8b
-
aaah, DANKE
läuft
-
Versuche gerade einen realtime plot durchzuführen. Funktioniert schon ganz gut jedoch ist der erste Punkt mit dem letzten verbunden.
Wie bekomme ich das weg?
lg
-
Die Reihenfolge deiner Datenpunkte geht exakt von Links nach Rechts?
-
-
Ich würde mal behaupten, wird am Ende noch ein zusätzlichen (0,0) geplotet
-
ne leider nicht habe es nochmal mit eigenen Werten getestet.
Er verbindet einen neuen Wert sofort mit dem aller ersten.// Die Variablen int sx=0; const int Size=27; double xval[Size]; double yval[Size]; //Die plotfunktion void tpopt::plot1() { xval[sx]=sx; yval[sx]=thread1.ywertplot1; curve1->setSymbol(new QwtSymbol(QwtSymbol::Cross, Qt::NoBrush, QPen(Qt::black), QSize(5, 5) ) ); curve1->setPen(QColor(Qt::darkGreen)); curve1->setStyle(QwtPlotCurve::Lines); curve1->setRawSamples(xval, yval, Size); sx++; Edit: Vielen Dank für die Hilfe Fehler gefunden. Das Ding ist weiß nicht wie viele Werte noch kommen. Wenn Size größer ist als die Anzahl der Werte dann verbindet er es. curve1->setRawSamples(xval, yval, sx); sx++; Läuft jetzt. }