I have a QCP that displays data between two times. startTime at the top of the plot and endTime at the bottom.

Every yAxis setRange and color map valueRange begins at startTime

In order to keep the Y axis from squishing on the next data update after zoom, I have to setScaleRatio with
every Y axis change.

The problem comes when a shorter X axis causes the Y axis to expand to retain the setScaleRatio. This causes the
Y axis to be larger than the displayed plot so if:

startTime = 12:05; After the first data update, the top displayed line on the plot is 12:03 and I have to wait
through 2 min of data before the first line is visible.

Since the setScaleRatio has to stay, how do I shift the visible plot window so it always starts at the start time?

End time dose not matter and can be pushed off the visible window without issue, I just need to see the start data
as it is being updated.

This is a bit simplified since it is actually a scrolling waterfall where the first line is displayed at 12:05, then on the
next update, the Y axis shifts in time to start at 12:05:01 and the next data line is displayed at the top of the plot.