2009-05-25 3 views
1

Utilisation du contrôle ZedGraph, dire que je suis comploter des données qui a des valeurs de Y 13, 34 et 55.ZedGraph (.NET) - étiquettes de l'axe HAVING valeurs réelles ne

Comment puis-je configurer mon axe Y de sorte que les seules étiquettes de texte montrées (et je devine que les lignes de grille seraient synchronisées) sont celles pour 13, 34 et 55?

Je ne veux pas d'étiquettes régulièrement espacées dans la plage de mes données (disons 0, 25, 50, 75, ..). Juste des étiquettes aux valeurs réelles.

+1

cela pourrait aider: http://stackoverflow.com/questions/816256/zedgraph-labels –

+0

Merci pour la suggestion, malheureusement, c'est un peu différent – xyz

Répondre

3

Je ne pense pas que ce soit possible directement, hors de la boîte.

Voici une mauvaise demi-solution créée en utilisant des étiquettes TextObj personnalisées.

D'abord, vous devez désactiver l'ancienne échelle de l'axe:

zg1.MasterPane[0].YAxis.Scale.IsVisible = false; 
zg1.MasterPane[0].YAxis.MajorTic.IsAllTics = false; 

Ensuite, vous devez créer des étiquettes personnalisées. Si y_vals est le tableau de vos valeurs Y:

foreach (double val in y_vals) 
      { 
       TextObj text = new TextObj(val.ToString(), zg1.MasterPane[0].XAxis.Scale.Min, val); 
       text.Location.AlignH = AlignH.Right; 
       text.FontSpec.Border.IsVisible = false; 
       text.FontSpec.Fill.IsVisible = false; 
       zg1.MasterPane[0].GraphObjList.Add(text); 
      } 

Vous pouvez créer vos lignes de la grille sur commande juste de la même manière en utilisant LineObj. Il suffit d'ajouter ceci à l'intérieur de la boucle foreach:

LineObj line = new LineObj(zg1.MasterPane[0].XAxis.Scale.Min, val, zg1.MasterPane[0].XAxis.Scale.Max, val); 
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
line.Line.Width = 1f; 
zg1.MasterPane[0].GraphObjList.Add(line); 
+0

Merci pour la réponse. Je pensais que cette question était depuis longtemps morte :-) – xyz

+0

Je suis nouveau à stackoverflow et je cherchais des questions marquées avec "zedgraph" tag;) J'ai remarqué la date de publication plus tard;) – Gacek

Questions connexes