2010-02-18 29 views
2

如何使用MSChart執行以下操作?鎖定MSChart Gridlines

  1. 將座標軸設置爲x:[0 - 1000]和y:[0 - 1]。
  2. 當圖表沒有點時顯示網格線。
  3. 禁用自動調整網格線。

注意:如果一個點存在於邊界內,設置Axis(X/Y)。(Min/Max)imum似乎不起作用。

回答

3

問題1)由Bentley Davis通過設置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): 您必須添加至少1數據點到一些系列顯示網格線。這是沒有辦法的。我添加了以下系列我的圖表時,我想複製該behavoir:

Dim nSer As Series = Chart1.Series.Add("fake_Series") 
    nSer.ChartType = SeriesChartType.Point 
    nSer.MarkerSize = 0 
    nSer.Points.Add(2000, 2) 

點並不在圖表上顯示,但不顯示網格線。

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) 
+0

我把所有除了AddXY的form.load,AddXY(100,0.5)放在button1.click和AddXY(200,0.6)中。當表單加載時,不顯示網格線(請求2)。點擊按鈕1並注意網格線。點擊按鈕2並注意x軸標籤重新調整(請求3)。 – Steven 2010-02-23 14:26:16