A QChart example
-
Hi people,
Please take a look at this Zoom Line Example.
In the code, the following is the real accountable part for drawing the curve, here a Sin one:QLineSeries *series = new QLineSeries(); for (int i = 0; i < 500; i++) { QPointF p((qreal) i, qSin(M_PI / 50 * i) * 100); *series << p; }
And this is the output:
The X values are increasing from 0 to 499. And the Y values are fluctuating from -100 to +100. But the Sin formula above can't go negative! So how is the wave drawn this way, please?
-
Hi
qDebug dont agree with you :)for (int i = 0; i < 500; i++) { QPointF p((qreal) i, qSin(M_PI / 50 * i) * 100); qDebug() << p; }
.....
QPointF(244,36.8125)
QPointF(245,30.9017)
QPointF(246,24.869)
QPointF(247,18.7381)
QPointF(248,12.5333)
QPointF(249,6.27905)
QPointF(250,-1.16403e-13)
QPointF(251,-6.27905)
QPointF(252,-12.5333)
QPointF(253,-18.7381)
QPointF(254,-24.869)
QPointF(255,-30.9017) -
Hi
qDebug dont agree with you :)for (int i = 0; i < 500; i++) { QPointF p((qreal) i, qSin(M_PI / 50 * i) * 100); qDebug() << p; }
.....
QPointF(244,36.8125)
QPointF(245,30.9017)
QPointF(246,24.869)
QPointF(247,18.7381)
QPointF(248,12.5333)
QPointF(249,6.27905)
QPointF(250,-1.16403e-13)
QPointF(251,-6.27905)
QPointF(252,-12.5333)
QPointF(253,-18.7381)
QPointF(254,-24.869)
QPointF(255,-30.9017) -
@mrjj
thanks mrjj. :)for i = 251 let's check the value of y:
QPointF p((qreal) 251, qSin(M_PI / 50 * 251) * 100) =
QPointF p(251, qSin(3.14 / 50 * 251) * 100) =
QPointF p(251, qSin(15.76) * 100) =
QPointF p(251, 0.271 * 100) =
QPointF p(251, 27.1)Hi
for (int i = 251; i < 255; i++) {
QPointF p((qreal) i, qSin(M_PI / 50 * i) * 100);
qDebug() << p;
}gives
QPointF(251,-6.27905)
QPointF(252,-12.5333)
QPointF(253,-18.7381)
QPointF(254,-24.869)so something is up :)
-
Hi
for (int i = 251; i < 255; i++) {
QPointF p((qreal) i, qSin(M_PI / 50 * i) * 100);
qDebug() << p;
}gives
QPointF(251,-6.27905)
QPointF(252,-12.5333)
QPointF(253,-18.7381)
QPointF(254,-24.869)so something is up :)
-
Hi
well its (3.14159265358979323846)
(3.14159265358979323846 / 50 * 251) = 15.7708
qSin(15.7708) * 100; = -6.27954 -
Hi
well its (3.14159265358979323846)
(3.14159265358979323846 / 50 * 251) = 15.7708
qSin(15.7708) * 100; = -6.27954