Ich habe die Beschriftung der y-Achse nicht festlegen können (ich glaube nicht, dass es möglich ist), aber Sie könnten sie in der Legende mit der Eigenschaft Titel festlegen. Auf der x-Achse hängt es von der Bindung auf Ihre DataPointSeries'IndependentValueBinding eingestellt.
Nehmen wir an, ich habe in diesem Beispiel ein Klassenobjekt erstellt, das jeden Datensatz/Datenpunkt darstellt.
public class ChartInfo
{
public string Label { get; set; }
public double Value { get; set; }
}
Dann habe ich diesen 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);
Ich erhalte dann dieses Ergebnis.
Alt-Text http://www.freeimagehosting.net/uploads/78e2598620.jpg
Für das Zoomen - ich denke, der richtige Begriff ist Drill-down. Sie könnten das SelectionChanged-Ereignis verwenden (siehe den Code oben). Was Sie tun sollten, ist requery Ihre Datenquelle und löschen Sie das Diagramm der Serie und fügen Sie eine neue auf der Grundlage Ihrer Abfrage Ergebnis.
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.
}