Search code examples
qtqt5qcustomplot

QCustomPlot vertical line at axis


I am working QCustomPlot with Qt and need to change the color of a particular vertical grid line within the graph please let us know how we can change that I attached the image of my requirement.

enter image description here


Solution

  • The bleo code solve the issue

    GraphTesting(QCustomPlot * customPlot)
    {
        // generate some data:
        QVector<double> x(101), y(101); // initialize with entries 0..100
        for (int i = 0; i < 101; ++i)
        {
            x[i] = i; //i / 50.0 - 1; // x goes from -1 to 1
            y[i] = x[i]/2; // let's plot a quadratic function
        }
        // create graph and assign data to it:
    
        
        customPlot->addGraph();
        customPlot->graph(0)->setData(x, y);
        
        // give the axes some labels:
        customPlot->xAxis->setLabel("x");
        customPlot->yAxis->setLabel("y");
        customPlot->rescaleAxes();
    
        QCPItemLine *step = new QCPItemLine(customPlot);
        step->setPen(QPen(QColor(140, 0, 0)));
    
        double begin = 25;
        double first = customPlot->yAxis->range().lower;
        double end = customPlot->yAxis->range().upper;   //example values
    
        step->start->setCoords(begin, first);
        step->end->setCoords(begin, end);
        customPlot->replot();
    }