2016-05-06 14 views
0

Ich erzeuge ein Säulendiagramm in gestapelter Form, das auf den X-Achsen-Städten angezeigt wird, und auf der Y-Achse die Anzahl der Geschlechter in der Spalte. Wie man Bindungsdiagramm und diese Daten:WPF-Datenvisualisierung Gestapelte Säulendiagramm-Bindung

List<Cities> Cities = new List<Cities>() 
    { 
     new Cities 
     { 
      Name = "Paris", 
      Genders = new Genders() 
      { 
       Man = 350000, 
       Woman = 436000 
      } 
     }, 
     new Cities() 
     { 
      Name = "London", 
      Genders = new Genders() 
      { 
       Man = 698056, 
       Woman = 736982 
      } 
     } 
    }; 

Ich versuche Serie zu generieren:

ich weiß nicht, wie die Daten zu binden. Danke

+0

Es hängt von einem WPF-Steuerelement, das Sie verwenden, um Diagramm anzuzeigen. Normalerweise müssen Sie für 'StackedColumnChart.Series'' ObservableCollection 'verwenden und über' ItemsSource = "{Binding Series}" an sie in Ihrem XAML binden. ' – Igor

+0

Sie haben mir gezeigt, wie man in meinem Beispiel verwendet? – bluray

+1

Ein gutes Beispiel für das Charting ist auf [Sparrow Toolkit] (https://sparrowtoolkit.codeplex.com/wikipage?title=Create%20a%20Basic%20Chart&referringTitle=SparrowChart). Siehe WPF - Methode 3 – Igor

Antwort

1

können Sie versuchen, eine Testversion von LightningChart mit enthaltenen Demo-Beispiele für Winfroms, Wpf mit nicht-bindbar, semibindable und vollständig bindbar Beispiele zu downloaden.

können Sie leicht an den Beispielen Quellcode schauen, z.B. ExampleStackedBars.

In einem Code hinter ein Feld erstellen können, die auf die Tabelle BarSeriesCollection Eigenschaft binded werden:

public static readonly DependencyProperty BarSeriesProperty = 
     DependencyProperty.Register(
      "BarSeries", 
      typeof(BarSeriesCollection), 
      typeof(ExampleStackedBars) 
     ); 

    public BarSeriesCollection BarSeries 
    { 
     get { return GetValue(BarSeriesProperty) as BarSeriesCollection; } 
     set { SetValue(BarSeriesProperty, value); } 
    } 

Und nach einer neuen Instanz erstellen und fügen Sie Daten zur Kollektion:

BarSeries = new BarSeriesCollection(); 
GenerateData(); 

In XAML können Sie diese leicht binden Sie diese Zeile mit:

<lcusb:LightningChartUltimate.ViewXY> 
      **<lcusb:ViewXY BarSeries="{Binding BarSeries}">** 
       <lcusb:ViewXY.BarViewOptions> 
        <lcusb:BarViewOptions BarSpacing="30" Grouping="ByIndexFitWidth" Stacking="Stack" IndexGroupingFitGroupDistance="20"/> 
       </lcusb:ViewXY.BarViewOptions> 
      </lcusb:ViewXY> 
     </lcusb:LightningChartUltimate.ViewXY> 
</lcusb:LightningChartUltimate> 

oder set Bindung pat h in der Eigenschaftenbaum

0

Beispiel in Sparrow toolkit ist für andere Diagrammtyp. Ich brauche ein gestapeltes Balkendiagramm. Meine Grafik muss in X-Achsen-Städten und für jede Stadt mehrere Werte in der Spalte enthalten. Das ist mein Diagramm:

<charting:Chart 
      Grid.Column="0" 
      Grid.Row="0" 
      x:Name="StackedColumnChart" 
      Title="Stacked Column" 
      Margin="5"> 
     <charting:StackedColumnSeries> 
     </charting:StackedColumnSeries> 
    </charting:Chart> 

Ich weiß nicht, was Serie ist. Serie ist Säulen? Wie weisen Sie einer Spalte mehrere Werte (in meinem Beispiel Geschlecht) zu?

Verwandte Themen