Вопрос 1) приятно ответил Бентли Дэвис, установив минимальное и максимальное значения осей X и Y.
Вопрос 3) требуется еще одно свойство для каждой оси; свойство .Interval. Если вы не установите Интервал, MSChart автоматически сделает интервал наилучшего соответствия между вашими заявленными минимальными и максимальными значениями, что потенциально изменит положение линий сетки и меток.
Chart1.Legends.Clear()
Chart1.Series("Series1").ChartType = SeriesChartType.FastLine
With Chart1.ChartAreas(0)
.AxisX.Maximum = 1000
.AxisX.Minimum = 0
.AxisY.Maximum = 1
.AxisY.Minimum = 0
.AxisX.Interval = 200
End With
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Chart1.Series("Series1").Points.AddXY(100, 0.5)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Chart1.Series("Series1").Points.AddXY(200, 0.6)
End Sub
Вопрос 2):
Вы должны добавить хотя бы одну точку данных в некоторые серии, чтобы отобразить линии сетки. Обойти это невозможно. Я добавляю следующие серии в свои графики, когда хочу дублировать это поведение:
Dim nSer As Series = Chart1.Series.Add("fake_Series")
nSer.ChartType = SeriesChartType.Point
nSer.MarkerSize = 0
nSer.Points.Add(2000, 2)
Точка не отображается на графике, но отображаются линии сетки.