如何使用 MSChart 执行以下操作?
- 将轴设置为 x:[0 - 1000] 和 y:[0 - 1]。
- 当图表没有点时显示网格线。
- 禁用网格线的自动调整。
注意:如果边界内存在点,则设置 Axis(X/Y).(Min/Max)imum 似乎无效。
Bentley Davis 通过设置 X 轴和 Y 轴的最小值和最大值很好地回答了问题 1)。
问题 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):您必须向某些系列添加至少 1 个数据点才能显示网格线。没有办法解决这个问题。当我想复制该行为时,我将以下系列添加到我的图表中:
Dim nSer As Series = Chart1.Series.Add("fake_Series")
nSer.ChartType = SeriesChartType.Point
nSer.MarkerSize = 0
nSer.Points.Add(2000, 2)
该点不会显示在图表上,但会显示网格线。
我无法重现您的问题。当我设置轴和网格线显示时,我将网格线添加到不更改。你似乎说他们确实改变了。这是我正在使用的代码。如果我能看到示例代码,我可能会提供帮助。
Chart1.Series("Series1").ChartType = SeriesChartType.FastLine
Chart1.ChartAreas(0).AxisX.Maximum = 1000
Chart1.ChartAreas(0).AxisX.Minimum = 0
Chart1.ChartAreas(0).AxisY.Maximum = 1
Chart1.ChartAreas(0).AxisY.Minimum = 0
Chart1.Series("Series1").Points.AddXY(100, 0.5)
Chart1.Series("Series1").Points.AddXY(200, 0.6)