Can anyone advise why this code will not put my third plot on the right hand axis. As it is, All three graphs are on the left hand y axis, the right hand title is printed, but no tick labels and ticks are based around the LH units.

Appologies if it is very poor, it is the first time I have tried programming in 10 years...

case 7://Obstacle avoidance

        ui->mainPlot->addGraph(ui->mainPlot->xAxis, ui->mainPlot->yAxis);
        ui->mainPlot->graph(0)->setPen(QPen(Qt::blue));
        ui->mainPlot->addGraph(ui->mainPlot->xAxis, ui->mainPlot->yAxis);
        ui->mainPlot->graph(1)->setPen(QPen(Qt::red));
        ui->mainPlot->addGraph(ui->mainPlot->xAxis, ui->mainPlot->yAxis2);// use RH axis
        ui->mainPlot->graph(2)->setPen(QPen(Qt::green));
        // read data from table
        for (int i=0; i<rows; ++i)
        {
            QModelIndex index = plotTableView->model()->index(i,EPOCH_DATE);
            x[i] = index.data().toDouble()/1000;
            index = plotTableView->model()->index(i,OBS_RANGE);
            //y0[i] = index.data().toDouble(); //use dummies in case of no data
            y0[i] = 20 * qCos((qreal)i / 300);
            index = plotTableView->model()->index(i,OBS_AMP);
            //y1[i] = index.data().toDouble();
            y1[i] = 3+ 15 * qCos((qreal)(i+75) / 300);
            index = plotTableView->model()->index(i, OBS_AZ);
            //y2[i] = index.data().toDouble();
            y2[i] = 120 * qCos((qreal)i / 300);
        }

        ui->mainPlot->yAxis->setLabel("(range - m / amplitude)");
        ui->mainPlot->yAxis->setRange(-5,50);
        ui->mainPlot->yAxis2->setLabel("(azimuth - deg)");
        ui->mainPlot->yAxis2->setVisible(true);
        ui->mainPlot->yAxis2->setTickLabels(true);
        ui->mainPlot->yAxis2->setLabelColor(Qt::green);
        ui->mainPlot->yAxis2->setRange(-150,150);

        ui->mainPlot->graph(0)->setData(x, y0);
        ui->mainPlot->graph(1)->setData(x, y1);
        ui->mainPlot->graph(2)->setData(x, y2);
        ui->mainPlot->graph(0)->setName(plotTableView->model()->headerData(OBS_RANGE, Qt::Horizontal).toString());
        ui->mainPlot->graph(1)->setName(plotTableView->model()->headerData(OBS_AMP, Qt::Horizontal).toString());
        ui->mainPlot->graph(2)->setName(plotTableView->model()->headerData(OBS_AZ, Qt::Horizontal).toString());

     break;

https://file.town/download/egzyas18ietk6k1xo6jku2c3f

cheers!