It turns out that the Polygraph example program was not updated for a change make in the RescaleAxesToCurrentTransform.
We decided that if the scroll frame had the ScrollScaleModeY set to RT_NO_AUTOSCALE_Y, that NO re-scale of the axis should take place, because a re-scale would change the axis tick mark parameters if the programmer initially chose tick mark parameter values different than our default auto-axis routine chooses.
If you want the axes to track the transform when RescaleAxesToCurrentTransform is called, you must set the ScrollScaleModeY property to RT_AUTOSCALE_Y.
Frame.ScrollScaleModeY = GraphObj.RT_AUTOSCALE_Y;
This has the side affect of causing the y-axis to rescale to match the y-data range whenever the scroll frame is updated which is probably what you want anyway.
But just in case you want to use RT_NO_AUTOSCALE_Y, you can just add a call to the axis CalcAutoAxis property after you call RescaleAxesToCurrentFrame, as the code below, a modified method from our Polygraph example program.
private void voiceStressGainTrackBar_Click(object sender, System.EventArgs e)
{
double newgainvalue = voiceStressGainTrackbar.RTValue;
voiceStressScrollFrame.ChartObjScale.ScaleStartY = 0;
voiceStressScrollFrame.ChartObjScale.ScaleStopY = newgainvalue;
// Rescale axes to match new scale
voiceStressScrollFrame.RescaleAxesToCurrentTransform();
// Left axis
yaxis51.CalcAutoAxis();
//Right axis
yaxis52.CalcAutoAxis();
// Must re-establish the x-intercept of the right y-axis
yaxis52.AxisIntercept = voiceStressScrollFrame.ChartObjScale.ScaleMaxX;
this.UpdateDraw();
}