public void SetDataSumValuesList(Dictionary<string, double> data, ChartBy chartBy) { // lets clear previous chart this.SumValuesCollection.Clear(); this.MainChart.Series.Clear(); // copy columns data into our observable collection foreach (var column in data) { this.SumValuesCollection.Add(new DataSumValuesCollection { new DataSumValues { Header = (chartBy == ChartBy.Cols ? "Column " : "Row ") + column.Key, SumValues = column.Value } }); } foreach (var item in this.SumValuesCollection) { BarSeries columnSeries = new BarSeries { SelectionMode = SelectionMode.Series }; BindableDataSeries bindableData = new BindableDataSeries { Title = item[0].Header, ItemsSource = item, XValueBinding = new Binding("SumValues"), YValueBinding = new Binding("Header"), }; columnSeries.DataSeries = bindableData; this.MainChart.Series.Add(columnSeries); } }
void PBREditorWindow_Loaded(object sender, RoutedEventArgs e) { if (chart == null) { chart = new Chart(); chart.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; chart.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; gridChart.Children.Add(chart); BindableDataSeries ds=new BindableDataSeries("ПБР"); ds.ItemsSource = pbrData.PBR; ds.XValueBinding = new Binding() { Path = new PropertyPath("Date") }; ds.YValueBinding = new Binding() { Path = new PropertyPath("Val") }; LineSeries ls=new LineSeries(); ls.DataSeries = ds; chart.Series.Add(ls); } }
public void SetDataSumValuesList(Dictionary <string, double> data, ChartBy chartBy) { // lets clear previous chart this.SumValuesCollection.Clear(); this.MainChart.Series.Clear(); // copy columns data into our observable collection foreach (var column in data) { this.SumValuesCollection.Add(new DataSumValuesCollection { new DataSumValues { Header = (chartBy == ChartBy.Cols ? "Column " : "Row ") + column.Key, SumValues = column.Value } }); } foreach (var item in this.SumValuesCollection) { BarSeries columnSeries = new BarSeries { SelectionMode = SelectionMode.Series }; BindableDataSeries bindableData = new BindableDataSeries { Title = item[0].Header, ItemsSource = item, XValueBinding = new Binding("SumValues"), YValueBinding = new Binding("Header"), }; columnSeries.DataSeries = bindableData; this.MainChart.Series.Add(columnSeries); } }
public void SetDataSumValuesList(Dictionary <string, double> data, ChartBy chartBy) { // lets clear previous chart this.SumValuesCollection.Clear(); this.MainChart.Series.Clear(); this.CustomLegend.Children.Clear(); // copy columns data into our observable collection foreach (var d in data) { this.SumValuesCollection.Add(new DataSumValuesCollection { new DataSumValues { Header = (chartBy == ChartBy.Cols ? "Column " : "Row ") + d.Key, SumValues = d.Value } }); } foreach (var item in this.SumValuesCollection) { ColumnSeries columnSeries = new ColumnSeries { SelectionMode = SelectionMode.Series }; BindableDataSeries bindableData = new BindableDataSeries { Title = item[0].Header, ItemsSource = item, XValueBinding = new Binding("Header"), YValueBinding = new Binding("SumValues") }; columnSeries.DataSeries = bindableData; this.MainChart.Series.Add(columnSeries); Rectangle rect = new Rectangle { Margin = new Thickness(5, 0, 2, 0), Height = 10, Width = 10, VerticalAlignment = VerticalAlignment.Center }; Binding fillBind = new Binding(); fillBind.ElementName = "MainChart"; fillBind.Path = new PropertyPath("Series[" + (this.MainChart.Series.Count - 1) + "].PointFill"); rect.SetBinding(Rectangle.FillProperty, fillBind); TextBlock txtblock = new TextBlock { Margin = new Thickness(0, 0, 8, 0), VerticalAlignment = VerticalAlignment.Center }; Binding textBind = new Binding(); textBind.ElementName = "MainChart"; textBind.Path = new PropertyPath("Series[" + (this.MainChart.Series.Count - 1) + "].DataSeries.Title"); txtblock.SetBinding(TextBlock.TextProperty, textBind); this.CustomLegend.Children.Add(rect); this.CustomLegend.Children.Add(txtblock); } }