2010-10-10 7 views
3

J'essaye de créer un histogramme avec ZedGraph.Essayer de créer un histogramme avec ZedGraph

Les barres et les données sont toutes bonnes, la seule chose nécessaire est mes barres pour être entre les tics au lieu de directement sur les tics.

données Exemple:

1, 4 
2, 8 
3, 1 

signifie que je dois:

4 items that are >= 0 and < 1 
8 items that are >= 1 and < 2 
1 item that is >= 2 and < 3 

donc actuellement mes barres sont bien sûr apparaissant directement sur les tics (valeurs x) 1, 2 et 3.

Mais je voudrais voir:

  • la première barre entre les tics 0 et 1,
  • la seconde barre entre les tics 1 et 2 et
  • la troisième barre entre les tics 2 et 3

Quelle est la propriété de tordre afin pour y arriver? Je suis actuellement à la recherche dans XAxis et XAxis.Scale, mais je ne l'ai pas trouvé encore rien ...

Répondre

3

Vous ne pouvez probablement pas le faire avec la normale BarItem. J'utilise les objets BoxObj pour créer l'histogramme.

Si histList est le PointPairList contenant vos paires de valeurs d'histogramme (points d'arrêt et de valeur) que vous pouvez utiliser:

for (int i = 0; i < histList.Count - 1; i++) 
{ 
BoxObj box = new BoxObj(histList[i].X, histList[i].Y, histList[i + 1].X - histList[i].X, histList[i].Y); 
box.IsClippedToChartRect = true; 
box.Fill.Color = myColor; 
pane.GraphObjList.Add(box); 
} 

Utilisation du BoxObj vous avez le plein contrôle sur l'endroit où se trouve le bar, etc. Plus d'info dans documentation

EDIT
Rappelez-vous que lorsque vous utilisez BoxObj (ou tout GraphObj en général) X et Y échelles ne sont pas goin g à régler automatiquement. Vous devez définir les plages d'échelle manuellement:

pane.XAxis.Scale.Min = ... 
pane.XAxis.Scale.Max = ... 
pane.YAxis.Scale.Min = ... 
pane.YAxis.Scale.Max = ... 
+0

semble bon, merci pour l'entrée! – ibiza

+0

Salut, le graphique commence trop zoomé et de nombreuses barres sont en dehors de la zone visible (zoom arrière, nous pouvons les voir). Seriez-vous conscient de la façon de le réparer? – ibiza

+1

voir mon édition. J'espère que cela aiderait – Gacek

Questions connexes