2015-04-24 3 views
0

Je suis nouveau vers les arbres Asp.net et développe un graphique de ligne qui ressemble à:Graphiques asp.net: Point supplémentaire (Tick Mark) ajouté sur l'axe X

enter image description here

La partie de X- Code Axis est: (les commentaires sont ajoutés dans le code)

Chart1.ChartAreas(0).AxisX.Title = "Age" 
    Chart1.ChartAreas(0).AxisX.LineWidth = 2 
    Chart1.ChartAreas(0).AxisX.Interval = 1 
    'Turn off X-axis lines 
    Chart1.ChartAreas(0).AxisX.MajorGrid.Enabled = False 
    ' Enable X axis margin 
    Chart1.ChartAreas(0).AxisX.IsMarginVisible = True 
    Chart1.ChartAreas(0).AxisX.IsStartedFromZero = True 
    Chart1.ChartAreas(0).AxisX.IsStartedFromZero = False 


    Chart1.ChartAreas(0).AxisX.LabelStyle.Angle = -60 
    Chart1.ChartAreas(0).AxisX.LabelStyle.Font = New Drawing.Font("Arial", 8, Drawing.FontStyle.Bold) 
    Chart1.ChartAreas(0).AxisX.MajorTickMark.Enabled = False 
    Chart1.ChartAreas(0).AxisX.IsStartedFromZero = True 


    'age() is array of Ages 
    'Estimated is array of estimated values in Dollars 
    'Real is array of real values in Dollars 
    s.ChartType = SeriesChartType.Line 
    g.ChartType = SeriesChartType.Line 
    s.BorderWidth = 2 
    g.BorderWidth = 2 

    Dim count As Integer = 0 
    'Finding the interval for X Axis 
    'Value of maxAge is 95 and myAge 55 
    Dim interval = (maxAge - myAge)/10 ' 
    Chart1.ChartAreas(0).AxisX.Minimum = myAge 
    'interval value is 4 
    Chart1.ChartAreas(0).AxisX.Interval = interval 

    'To start the graph from origin 

    g.Points.AddXY(Convert.ToInt32(myAge), 0) 
    s.Points.AddXY(Convert.ToInt32(myAge), 0) 
    'Adding the label for origin 
    Chart1.ChartAreas(0).AxisX.CustomLabels.Add(myAge - 1, myAge + 1, "Age " & myAge & " ") 
    count = 0 
    'This loop runs from 55 to 95 of age() Array 
    For i = 1 To 10 
     count += interval 
     s.Points.AddXY(age(count), Estimated(count)) 
     g.Points.AddXY(age(count), Real(count)) 
     Chart1.ChartAreas(0).AxisX.CustomLabels.Add(age(count) - 0.3, age(count), "Age " & age(count) & " ") 
    Next i 
    Chart1.Series.Add(s) 
    Chart1.Series.Add(g) 

Et la sortie de ce code est

enter image description here

Le problème est que, bien que ma boucle s'exécute exactement 10 fois, une marque Tick supplémentaire est ajoutée sur l'axe X.

Alors ma question est

est-il moyen de limiter le graphique à la dernière coche, au lieu de prendre un saut supplémentaire?

Merci à l'avance

Répondre

0

Je suis novice à ASP.Net graphiques donc, faisait cette erreur stupide.

Tout ce que je devais régler la

Chart1.ChartAreas(0).AxisX.Maximum = maxAge 

Et bingo cela a fonctionné! Le graphique s'est limité à la graduation de 95 ans.