Масштабирование, которое вы хотите сделать, не может быть автоматически выполнено MSChart. После того, как вы получили от пользователя диапазон значений «Zoom-In», вам нужно написать немного больше кода для правильного сброса масштабирования по оси Y.
Это легче всего работает, если вы используете стиль линий рядов данных, а ваши исходные данные для этого ряда хранятся в виде SortedList.
Dim firstXindex as Int32 = myDataSeries.IndexOfKey(firstXzoomValue)
Dim lastXindex as Int32 = myDataSeries.IndexOfKey(lastXzoomValue)
Dim minY as Double = 1.7E+308
Dim maxY as Double = -1.7E+308
For i = firstXindex To lastXindex
If myDataSeries.GetByIndex(i) > maxY Then
maxY = myDataSeries.GetByIndex(i)
End If
If myDataSeries.GetByIndex(i) < minY Then
minY = myDataSeries.GetByIndex(i)
End If
Next
После того, как вы использовали что-то вроде кода выше, чтобы получить ваши minY и maxY, вы можете затем использовать эти значения для сброса минимальных и максимальных значений оси Y в ChartArea:
With myChartArea
.AxisY.Maximum = maxY
.AxisY.Minimum = minY
End With