2010-03-03 5 views
2

Salut, je voudrais savoir comment puis-je faire pour définir l'étiquette pour l'axe X et l'axe y? Maintenant, j'ai un graphique avec les valeurs, et je formate l'info-bulle, mais je ne peux pas réaliser comment définir l'étiquette pour X un axe Y. Une autre chose est, est-il possible d'exécuter zoom dans une série de graphiques, je veux dire, si j'ai l'axe x dans les années, je voudrais le changer en mois, ou semestres et de nouveaux points doivent apparaître dans la ligne ? Si cela est possible, est-ce trop difficile de le faire?Comment définir les axes y et x d'un graphique wpf toolkit? quelque chose comme y: kg, x: années

Répondre

1

Je ne suis pas en mesure de définir l'étiquette de l'axe y (je ne pense pas que ce soit possible), mais vous pouvez le définir sur la légende en utilisant la propriété Titre. Sur l'axe des x, cela dépend de l'ensemble de liaison de votre DataPointSeries'IndependentValueBinding. Disons sur cet exemple que j'ai créé un objet de classe qui représentera chaque enregistrement/point de donnée.

public class ChartInfo 
{ 
    public string Label { get; set; } 
    public double Value { get; set; } 
} 

J'ai ce code:

List<ChartInfo> list = new List<ChartInfo>(); 
ChartInfo item = new ChartInfo(); 
item.Label = "Individual"; 
item.Vale = 27; 
list.Add(item); 
item = new ChartInfo(); 
item.Label = "Corporate"; 
item.Vale = 108; 
list.Add(item); 

DataPointSeries series = new ColumnSeries(); 
series.Title = "Quantity"; 
series.DependentValueBinding = new Binding("Value"); 
series.IndependentValueBinding = new Binding("Label"); 
series.ItemsSource = list; 
series.SelectionChanged += new SelectionChangedEventHandler(series_SelectionChanged); 
this.chartingToolkitControl.Series.Add(series); 

Il me donnera ce résultat.

alt text http://www.freeimagehosting.net/uploads/78e2598620.jpg

Pour le zooming - Je pense que le terme exact est drill-down. Vous pouvez utiliser l'événement SelectionChanged (voir le code ci-dessus). Ce que vous devriez faire est de requery votre source de données et effacer les séries du graphique et en ajouter un nouveau basé sur le résultat de votre requête.

private void series_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     //The sender here is of type DataPointSeries wherein you could get the SelectedItem (in our case ChartInfo) and from there you could do the requery. 
    } 
+0

Merci pour votre réponse, c'est vraiment utile. et je n'avais pas pensé le zoom de cette façon. Merci. – Clerks

+0

@Clerks - si la réponse vous a aidé à ne pas oublier de voter et de la marquer comme la réponse acceptée de votre question :) –

Questions connexes