Question

Comment dois-je faire ce qui suit avec un MSChart?

  1. Set axes de x: [0 - 1000] et y:. [0 - 1]
  2. Afficher les quadrillages quand carte n'a pas de points.
  3. Désactiver réglage automatique des quadrillages.

Note:. Réglage de l'axe (X / Y) (Min / Max) mum semble avoir aucun effet si un point existe à l'intérieur des limites

.
Était-ce utile?

La solution

Question 1) est très bien répondu par Bentley Davis, en réglant les valeurs min et max des axes X et Y.

Question 3) exige une plus propriété pour chaque axe; la propriété .Interval. Si vous ne définissez pas l'intervalle, le MSChart fera automatiquement un intervalle meilleur ajustement entre votre déclaration min et max, changeant ainsi potentiellement le positionnement des quadrillages et les étiquettes.

  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

Question 2): Vous devez ajouter au moins 1 point de données à certaines séries pour afficher les quadrillages. Il n'y a pas moyen de contourner cela. J'ajoute la série suivante à mes graphiques quand je veux reproduire ce behavoir:

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

Le point n'affiche pas sur le graphique, mais les quadrillages sont affichés.

Autres conseils

Je ne suis pas en mesure de recréer votre problème. Quand je tournerai les axes et les lignes de la grille affichent alors ajouter des points les lignes de la grille pour ne pas chnage. Vous semblez dire qu'ils changent. Voici le code que je utilise. Je pourrais être en mesure d'aider si je peux voir exemple de code.

    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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top