锁定MSChart网格线

时间:2010-02-18 18:23:35

标签: vb.net mschart

如何使用MSChart执行以下操作?

  1. 将轴设置为x:[0 - 1000]和y:[0 - 1]。
  2. 当图表没有分数时显示网格线。
  3. 禁用网格线的自动调整。
  4. 注意:如果边界内存在一个点,则设置轴(X / Y)。(最小/最大)imum似乎无效。

2 个答案:

答案 0 :(得分:2)

通过设置X轴和Y轴的最小值和最大值,Bentley Davis很好地回答了问题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)

该点不会显示在图表上,但会显示网格线。

答案 1 :(得分:1)

我无法重新创建您的问题。当我设置轴和网格线显示然后我添加点网格线不是chnage。你似乎说他们确实改变了。这是我正在使用的代码。如果我能看到示例代码,我可以提供帮助。

    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)