I have a QT chart with regular value axes. When I toggle a checkbox, I want to change the X Axis from a QValueAxis to a QLogValueAxis. The problem is, when I do this, my data no longer plots to the correct point.
I've tried two approaches (and a bunch of variations on them) to get the log scale to work, but no what I've tried it seems like the data scales itself to fit in the window linearly and ignores the log axis completely.
Approach 1 - Replace the old axis:
QLogValueAxis* xLogAxis = new QLogValueAxis();
xLogAxis->setBase(10);
xLogAxis->setMinorTickCount(10);
dataSeries->attachedAxes()[0] = xLogAxis; //Replace the old X Axis on the series
chart->setAxisX(xLogAxis);
Approach 2 - Make a completely new Chart:
chart->removeSeries(data); //release the data so you don't destroy it
QChart* newChart = new QChart();
ui->graphView->setChart(newChart); //Swap the old chart out then delete it
delete chart;
chart = newChart;
//get rid of the old axes on the data
for(QAbstractAxis* axis : data->attachedAxes()){
data->detachAxis(axis);
}
QValueAxis* yAxis = new QValueAxis();
data->attachAxis(xLogAxis);
data->attachAxis(yAxis);
chart->addAxis(xLogAxis, Qt::AlignBottom);
chart->addAxis(yAxis, Qt::AlignLeft);
chart->addSeries(data);
chart->legend()->setVisible(false);
Any ideas on how to hotswap to a log axis at runtime? Thanks in advance!

