J'ai un problème avec le dessin du graphique dans la bibliothèque QCustomPlot. Je voudrais dessiner un graphique de logarithme mais j'utilise le dessin sur l'intervalle < -3; 3>. Comme le logarithme n'est pas défini de -3 à 0, j'ai essayé de ne rien faire en dessinant sur cet intervalle.Qt - QCustomPlot peinture graphique
Je possède ce code:
QVector<double> x(10001), y(10001);
QVector<double> x1(10001), y1(10001);
double t=-3; //cas
double inkrement = 0.0006;
for (int i=0; i<10001; i++)//kvadraticka funkcia
{
x[i] = t;
y[i] = (-1)*t*t-2;
t+=inkrement;
}
int g=0;
for(double l=-3;l<3; l+=inkrement) {
if(l<=0.0) continue;
else {
//QMessageBox::warning(this, tr("note"), tr("l=%1\n").arg(l), QMessageBox::Ok);
x1[g] = l;
y1[g] = log10(l)/log10(exp(1.0));
//QMessageBox::warning(this, tr("note"), tr("x1=%1\ny1=%2").arg(x1[g]).arg(y1[g]), QMessageBox::Ok);
//break;
g++;
}
}
customPlot->addGraph();
customPlot->graph(0)->setData(x, y);
customPlot->addGraph();
customPlot->graph(1)->setData(x1, y1);
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
customPlot->xAxis->setRange(-3, 3);
customPlot->yAxis->setRange(-10, 5);
customPlot->replot();
où x1 et y1 sont QVectors ... Mais le graphique est comme le premier point est en [0,0]. Donc j'ai alors une ligne qui relie le point [0.0] au graphe logarithme et je ne sais pas pourquoi :( Quand je mets l = 0.0006 avant le cycle, tout est OK, peux-tu m'aider s'il te plaît?
Merci :) Opérateur << fonctionne parfaitement (problème résolu) ... mais je ne comprends toujours pas pourquoi mon code se comporte comme il se comporte ... Ceci est un code complet (quand je décommente message boîte, il dit, que la valeur l est supérieure à 0, et aussi x1 [g] est aussi) ... Je vais éditer le code ci-dessus et le remplacer par du code complet. – Gresthorn