public async Task UpdatePieChart(List <TeamScore> newItemSource, List <TeamScore> oldItemSource)
        {
            if (oldItemSource is null || newItemSource is null)
            {
                return;
            }

            await _lock.WaitAsync().ConfigureAwait(false);

            Device.BeginInvokeOnMainThread(() =>
            {
                try
                {
                    if (oldItemSource.Count > 0 && newItemSource.Count > 0)
                    {
                        TeamScorePieSeries.EnableAnimation = false;
                    }

                    TeamScorePieSeries.ItemsSource = newItemSource;

                    var colorModel = new ChartColorModel
                    {
                        Palette       = ChartColorPalette.Custom,
                        CustomBrushes = new List <Color>()
                    };

                    foreach (TeamScore teamScore in TeamScorePieSeries.ItemsSource)
                    {
                        switch (teamScore.Color)
                        {
                        case TeamColor.Green:
                            colorModel.CustomBrushes.Add(Color.Green);
                            break;

                        case TeamColor.Red:
                            colorModel.CustomBrushes.Add(Color.Red);
                            break;

                        default:
                            throw new NotSupportedException($"{teamScore.Color.GetType()} Not Supported");
                        }
                    }

                    TeamScorePieSeries.ColorModel = colorModel;
                    TeamScorePieSeries.DataMarker = new ChartDataMarker {
                        ShowLabel = true
                    };
                }
                finally
                {
                    _lock.Release();
                }
            });
        }
        public StackedDoughnutDemo()
        {
            InitializeComponent();
            var colorModel    = new ChartColorModel();
            var customBrushes = new List <Brush>();

            customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0x47, 0xBA, 0x9F)));
            customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0xE5, 0x88, 0x70)));
            customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0x96, 0x86, 0xC9)));
            customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0xE5, 0x65, 0x90)));

            colorModel.CustomBrushes  = customBrushes;
            doughnutSeries.ColorModel = colorModel;
            doughnutSeries.Palette    = ChartColorPalette.Custom;
        }
        static void OnItemSourceChanged(BindableObject bindable, object oldValue, object newValue)
        {
            var teamScorePieChart = (TeamScorePieChart)bindable;
            var currentItemSource = (List <TeamScore>)teamScorePieChart.TeamScorePieSeries.ItemsSource;
            var oldItemSource     = (List <TeamScore>)oldValue;
            var newItemSource     = (List <TeamScore>)newValue;

            if (oldItemSource?.Count > 0 && newItemSource?.Count > 0)
            {
                teamScorePieChart.TeamScorePieSeries.EnableAnimation = false;
            }

            teamScorePieChart.TeamScorePieSeries.ItemsSource = newItemSource;

            var colorModel = new ChartColorModel
            {
                Palette       = ChartColorPalette.Custom,
                CustomBrushes = new List <Color>()
            };

            foreach (TeamScore teamScore in teamScorePieChart.TeamScorePieSeries.ItemsSource)
            {
                switch (teamScore.Color)
                {
                case TeamColor.Green:
                    colorModel.CustomBrushes.Add(Color.Green);
                    break;

                case TeamColor.Red:
                    colorModel.CustomBrushes.Add(Color.Red);
                    break;

                default:
                    throw new NotSupportedException($"{teamScore.Color.GetType()} Not Supported");
                }
            }

            teamScorePieChart.TeamScorePieSeries.ColorModel = colorModel;
            teamScorePieChart.TeamScorePieSeries.DataMarker = new ChartDataMarker {
                ShowLabel = true
            };
        }
Example #4
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            List <CategoryInfo> cats = new List <CategoryInfo>();
            double d   = 0;
            int    par = (int)parameter;

            switch (par)
            {
            case 1:
            {
                cats = (List <CategoryInfo>)value;
                switch (cats.Count)
                {
                case 1:
                    return(0.25);

                case 2:
                    return(0.7);

                case 3:
                    return(0.6);

                case 4:
                    return(0.55);

                default:
                    return(0.4);
                }
            }

            case 2:
            {
                cats = (List <CategoryInfo>)value;
                switch (cats.Count)
                {
                case 1:
                    return(60);

                case 2:
                    return(45);

                case 3:
                    return(27);

                default:
                    return(17);
                }
            }

            case 3:
                d = (double)value;
                return(ColorGet.ColorFromPercent((int)Math.Round(d, 0)));

            case 4:
            {
                cats = (List <CategoryInfo>)value;
                ChartColorModel cm = new ChartColorModel();
                cm.Palette = ChartColorPalette.Custom;
                ChartColorCollection cmc = new ChartColorCollection();
                foreach (CategoryInfo ci in cats)
                {
                    cmc.Add(ColorGet.ColorFromPercent((int)Math.Round(ci.Percent, 0)));
                }
                cm.CustomBrushes = cmc;
                return(cm);
            }

            default:
                return(10);

            case 5:
            {
                cats = (List <CategoryInfo>)value;
                switch (cats.Count)
                {
                case 1:
                    return(40);

                case 2:
                    return(30);

                case 3:
                    return(20);

                default:
                    return(10);
                }
            }

            case 6:
            {
                d = (double)value;
                if (d < 20)
                {
                    return(new Thickness(0, -20));
                }
                return(-1);
            }

            case 7:
            {
                d  = (double)value;
                d *= 100;
                Console.WriteLine("Color double=>" + d);
                return(ColorGet.ColorFromPercent((int)Math.Round(d, 0)));
            }
            }
        }
Example #5
0
        private void OnChartTypeSelectionChanged1(object sender, SelectionChangedEventArgs e)
        {
            ComboBox comboBox = sender as ComboBox;

            Accumulation_charts.Legend = null;

            if (comboBox.SelectedIndex == 0 && viewModel != null)
            {
                if (Accumulation_charts != null)
                {
                    if (Accumulation_charts.Legend == null)
                    {
                        Accumulation_charts.Legend = new ChartLegend()
                        {
                            CornerRadius    = new CornerRadius(0),
                            FontSize        = 15,
                            DockPosition    = ChartDock.Right,
                            BorderThickness = new Thickness(1)
                        };
                    }

                    PieSeries          series1        = new PieSeries();
                    ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                    ChartLegend1.Visibility = Visibility.Visible;

                    DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                    adornmentInfo1.ShowLabel           = true;
                    adornmentInfo1.LabelTemplate       = template1;
                    adornmentInfo1.AdornmentsPosition  = AdornmentsPosition.Bottom;
                    adornmentInfo1.HorizontalAlignment = HorizontalAlignment.Center;
                    adornmentInfo1.VerticalAlignment   = VerticalAlignment.Center;
                    adornmentInfo1.ShowConnectorLine   = true;
                    adornmentInfo1.ConnectorHeight     = 80;
                    adornmentInfo1.ShowLabel           = true;
                    adornmentInfo1.UseSeriesPalette    = true;
                    adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;

                    series1.XBindingPath      = "Countries";
                    series1.YBindingPath      = "Count";
                    series1.ItemsSource       = viewModel.CountryDetails;
                    series1.PieCoefficient    = 0.7;
                    series1.EnableSmartLabels = true;
                    series1.LabelPosition     = CircularSeriesLabelPosition.OutsideExtended;
                    series1.AdornmentsInfo    = adornmentInfo1;
                    series1.GroupMode         = PieGroupMode.Value;
                    series1.GroupTo           = 1000;

                    Accumulation_charts.Header = "Agriculture Expenses Comparison";
                    Accumulation_charts.Series.Clear();
                    Accumulation_charts.Series.Add(series1);
                }
            }
            if (comboBox.SelectedIndex == 1 && viewModel != null)
            {
                PieSeries series1 = new PieSeries();
                PieSeries series2 = new PieSeries();
                PieSeries series3 = new PieSeries();

                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo();

                ChartColorModel color1 = new ChartColorModel();
                ChartColorModel color2 = new ChartColorModel();
                ChartColorModel color3 = new ChartColorModel();

                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                DataTemplate template1 = MainGrid.Resources["populationLabelTemplate1"] as DataTemplate;
                DataTemplate template2 = MainGrid.Resources["populationLabelTemplate2"] as DataTemplate;
                DataTemplate template3 = MainGrid.Resources["populationLabelTemplate3"] as DataTemplate;

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo1.LabelTemplate       = template1;

                adornmentInfo2.ShowLabel           = true;
                adornmentInfo2.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo2.LabelTemplate       = template2;

                adornmentInfo3.ShowLabel           = true;
                adornmentInfo3.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo3.LabelTemplate       = template3;

                series1.ItemsSource    = viewModel.Population;
                series1.XBindingPath   = "Continent";
                series1.YBindingPath   = "PopulationinContinents";
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Stroke         = new SolidColorBrush(Colors.White);
                series1.PieCoefficient = 1;
                series1.Label          = "Continents";
                series1.Palette        = ChartColorPalette.Custom;
                series1.ColorModel     = color1;

                series2.ItemsSource    = viewModel.Population;
                series2.XBindingPath   = "Countries";
                series2.YBindingPath   = "PopulationinCountries";
                series2.AdornmentsInfo = adornmentInfo2;
                series2.Stroke         = new SolidColorBrush(Colors.White);
                series2.PieCoefficient = 1;
                series2.Label          = "Countries";
                series2.Palette        = ChartColorPalette.Custom;
                series2.ColorModel     = color2;

                series3.ItemsSource    = viewModel.Population;
                series3.XBindingPath   = "States";
                series3.YBindingPath   = "PopulationinStates";
                series3.AdornmentsInfo = adornmentInfo3;
                series3.Stroke         = new SolidColorBrush(Colors.White);
                series3.PieCoefficient = 1;
                series3.Label          = "States";
                series3.Palette        = ChartColorPalette.Custom;
                series3.ColorModel     = color3;

                Accumulation_charts.Header = "Most populated continents";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
                Accumulation_charts.Series.Add(series2);
                Accumulation_charts.Series.Add(series3);
            }
            if (comboBox.SelectedIndex == 2 && viewModel != null)
            {
                PieSeries          series1        = new PieSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                series1.Margin                     = new Thickness(0, 25, 0, 0);
                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.ShowConnectorLine   = true;
                adornmentInfo1.UseSeriesPalette    = true;
                adornmentInfo1.ConnectorHeight     = 37;
                adornmentInfo1.SegmentLabelContent = LabelContent.Percentage;
                adornmentInfo1.SegmentLabelFormat  = "##.#";

                series1.XBindingPath      = "Utilization";
                series1.YBindingPath      = "ResponseTime";
                series1.StartAngle        = 180;
                series1.EndAngle          = 360;
                series1.EnableSmartLabels = true;
                series1.LabelPosition     = CircularSeriesLabelPosition.Outside;
                series1.ItemsSource       = viewModel.Metric;
                series1.AdornmentsInfo    = adornmentInfo1;

                Accumulation_charts.Header = "Application Performance Metrics";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 3 && viewModel != null)
            {
                if (Accumulation_charts.Legend == null)
                {
                    Accumulation_charts.Legend = new ChartLegend()
                    {
                        CornerRadius    = new CornerRadius(0),
                        FontSize        = 15,
                        DockPosition    = ChartDock.Right,
                        BorderThickness = new Thickness(1)
                    };
                }

                DoughnutSeries     series1        = new DoughnutSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Visible;

                DataTemplate template1 = MainGrid.Resources["labeltemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;

                Accumulation_charts.Series.Clear();
                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 4 && viewModel != null)
            {
                DoughnutSeries series1 = new DoughnutSeries();
                DoughnutSeries series2 = new DoughnutSeries();
                DoughnutSeries series3 = new DoughnutSeries();

                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo();

                ChartColorModel color1 = new ChartColorModel();
                ChartColorModel color2 = new ChartColorModel();
                ChartColorModel color3 = new ChartColorModel();

                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                DataTemplate template1 = MainGrid.Resources["populationLabelTemplate1"] as DataTemplate;
                DataTemplate template2 = MainGrid.Resources["populationLabelTemplate2"] as DataTemplate;
                DataTemplate template3 = MainGrid.Resources["populationLabelTemplate3"] as DataTemplate;

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo1.LabelTemplate       = template1;

                adornmentInfo2.ShowLabel           = true;
                adornmentInfo2.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo2.LabelTemplate       = template2;

                adornmentInfo3.ShowLabel           = true;
                adornmentInfo3.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo3.LabelTemplate       = template3;

                series1.ItemsSource         = viewModel.Population;
                series1.XBindingPath        = "Continent";
                series1.YBindingPath        = "PopulationinContinents";
                series1.AdornmentsInfo      = adornmentInfo1;
                series1.Stroke              = new SolidColorBrush(Colors.White);
                series1.DoughnutCoefficient = 1;
                series1.DoughnutSize        = 1;
                series1.Label      = "Continents";
                series1.Palette    = ChartColorPalette.Custom;
                series1.ColorModel = color1;

                series2.ItemsSource         = viewModel.Population;
                series2.XBindingPath        = "Countries";
                series2.YBindingPath        = "PopulationinCountries";
                series2.AdornmentsInfo      = adornmentInfo2;
                series2.Stroke              = new SolidColorBrush(Colors.White);
                series2.DoughnutCoefficient = 1;
                series2.DoughnutSize        = 1;
                series2.Label      = "Countries";
                series2.Palette    = ChartColorPalette.Custom;
                series2.ColorModel = color2;

                series3.ItemsSource         = viewModel.Population;
                series3.XBindingPath        = "States";
                series3.YBindingPath        = "PopulationinStates";
                series3.AdornmentsInfo      = adornmentInfo3;
                series3.Stroke              = new SolidColorBrush(Colors.White);
                series3.DoughnutCoefficient = 1;
                series3.DoughnutSize        = 1;
                series3.Label      = "States";
                series3.Palette    = ChartColorPalette.Custom;
                series3.ColorModel = color3;

                Accumulation_charts.Header = "Most populated continents";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
                Accumulation_charts.Series.Add(series2);
                Accumulation_charts.Series.Add(series3);
            }
            if (comboBox.SelectedIndex == 5 && viewModel != null)
            {
                DoughnutSeries     series1        = new DoughnutSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.ShowConnectorLine   = true;
                adornmentInfo1.UseSeriesPalette    = true;
                adornmentInfo1.ConnectorHeight     = 37;
                adornmentInfo1.SegmentLabelContent = LabelContent.Percentage;
                adornmentInfo1.SegmentLabelFormat  = "##.#";

                series1.XBindingPath      = "Utilization";
                series1.YBindingPath      = "ResponseTime";
                series1.StartAngle        = 180;
                series1.EndAngle          = 360;
                series1.EnableSmartLabels = true;
                series1.LabelPosition     = CircularSeriesLabelPosition.Outside;
                series1.Margin            = new Thickness(0, 25, 0, 0);
                series1.ItemsSource       = viewModel.Metric;
                series1.AdornmentsInfo    = adornmentInfo1;

                Accumulation_charts.Header = "Application Performance Metrics";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 6 && viewModel != null)
            {
                DoughnutSeries doughnutSeries = new DoughnutSeries();
                doughnutSeries.DataContext         = viewModel;
                doughnutSeries.XBindingPath        = "XValue";
                doughnutSeries.YBindingPath        = "YValue";
                doughnutSeries.ItemsSource         = (doughnutSeries.DataContext as PieChartViewModel).DoughnutSeriesData;
                doughnutSeries.IsStackedDoughnut   = true;
                doughnutSeries.EnableAnimation     = true;
                doughnutSeries.LegendIcon          = ChartLegendIcon.Circle;
                doughnutSeries.StartAngle          = -90;
                doughnutSeries.EndAngle            = 270;
                doughnutSeries.SegmentSpacing      = 0.2;
                doughnutSeries.DoughnutCoefficient = 0.8;
                doughnutSeries.CapStyle            = DoughnutCapStyle.BothCurve;
                doughnutSeries.MaximumValue        = 100;

                var colorModel    = new ChartColorModel();
                var customBrushes = new List <Brush>();
                customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0x47, 0xBA, 0x9F)));
                customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0xE5, 0x88, 0x70)));
                customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0x96, 0x86, 0xC9)));
                customBrushes.Add(new SolidColorBrush(Color.FromArgb(0xFF, 0xE5, 0x65, 0x90)));

                colorModel.CustomBrushes  = customBrushes;
                doughnutSeries.ColorModel = colorModel;
                doughnutSeries.Palette    = ChartColorPalette.Custom;
                var image = new Image()
                {
                    Source = new BitmapImage(new Uri("ms-appx:///Chart/Tutorials/ChartSamples/PieChart/Images/Person.png", UriKind.RelativeOrAbsolute))
                };
                var centerView = new ContentControl()
                {
                    Content = image, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center
                };

                var binding = new Binding();
                binding.Source             = doughnutSeries;
                binding.Path               = new PropertyPath("InnerRadius");
                binding.Converter          = new ImageSizeConverter();
                binding.ConverterParameter = doughnutSeries;
                binding.Mode               = BindingMode.TwoWay;
                centerView.SetBinding(ContentControl.WidthProperty, binding);
                centerView.SetBinding(ContentControl.HeightProperty, binding);
                doughnutSeries.CenterView = centerView;

                var legend = new ChartLegend()
                {
                    DockPosition = ChartDock.Bottom
                };
                legend.ItemTemplate = MainGrid.Resources["stackedDoughnutTemplate"] as DataTemplate;

                Accumulation_charts.Legend = legend;
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(doughnutSeries);
                Accumulation_charts.Header = "Percentage of Loan Closure";
            }
            if (comboBox.SelectedIndex == 7 && viewModel != null)
            {
                PyramidSeries      series1        = new PyramidSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Margin         = new Thickness(20, 0, 20, 20);

                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Margin = new Thickness(20, 20, 20, 20);
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 8 && viewModel != null)
            {
                FunnelSeries       series1        = new FunnelSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Margin         = new Thickness(20, 0, 20, 20);

                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Margin = new Thickness(20, 20, 20, 20);
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
        }
        public MainPage()
        {
            this.InitializeComponent();
            topbar.DataContext = (Application.Current as App).NVM;
            Pane.DataContext   = (Application.Current as App).MPVM;
            //DoughnutSeries.ItemsSource =

            /*DoughnutSeries2.ItemsSource = CreateData2();
             * RoundSeries.ItemsSource = CreateData3();
             * PaymentSeries.ItemsSource = CreateData4();
             * DonationSeries.ItemsSource = CreateData5();
             */
            ChartColorModel cm1 = new ChartColorModel();

            cm1.CustomBrushes.Add(SCB1);
            cm1.CustomBrushes.Add(SCB2);
            cm1.CustomBrushes.Add(SCB3);
            cm1.CustomBrushes.Add(SCBTR);
            DoughnutSeries.ColorModel = cm1;

            ChartColorModel cm2 = new ChartColorModel();

            cm2.CustomBrushes.Add(SCB4);
            cm2.CustomBrushes.Add(SCBTR);
            DoughnutSeries2.ColorModel = cm2;

            ChartColorModel cm3 = new ChartColorModel();

            cm3.CustomBrushes.Add(SCB1);
            cm3.CustomBrushes.Add(SCBTR);

            RoundSeries.ColorModel = cm3;

            ChartColorModel cm4 = new ChartColorModel();

            cm4.CustomBrushes.Add(SCB2);
            cm4.CustomBrushes.Add(SCBTR);

            PaymentSeries.ColorModel = cm4;

            ChartColorModel cm5 = new ChartColorModel();

            cm5.CustomBrushes.Add(SCB3);
            cm5.CustomBrushes.Add(SCBTR);

            DonationSeries.ColorModel = cm5;


            if (!DesignMode.DesignModeEnabled)
            {
                this.SizeChanged += MainPage_SizeChanged;

                Pane.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, (sender, dp) =>
                {
                    if (ActualWidth < 748)
                    {
                        username2.Visibility = !Pane.IsPaneOpen ? Visibility.Collapsed : Visibility.Visible;
                    }
                });
            }
        }
Example #7
0
        public CircularChartViewModel()
        {
            DoughnutSeriesData = new ObservableCollection <StackedDoughnutModel>
            {
                new StackedDoughnutModel("Vehicle", 62.7, new Uri("ms-appx:///Chart/Tutorials/ChartSamples/PieChart/Images/Car.png", UriKind.RelativeOrAbsolute)),
                new StackedDoughnutModel("Education", 29.5, new Uri("ms-appx:///Chart/Tutorials/ChartSamples/PieChart/Images/Chart_Book.png", UriKind.RelativeOrAbsolute)),
                new StackedDoughnutModel("Home", 85.2, new Uri("ms-appx:///Chart/Tutorials/ChartSamples/PieChart/Images/House.png", UriKind.RelativeOrAbsolute)),
                new StackedDoughnutModel("Personal", 45.6, new Uri("ms-appx:///Chart/Tutorials/ChartSamples/PieChart/Images/Personal.png", UriKind.RelativeOrAbsolute))
            };

            this.CountryDetails = new List <Populations>();
            CountryDetails.Add(new Populations()
            {
                Countries = "Uruguay", Count = 2807
            });
            CountryDetails.Add(new Populations()
            {
                Countries = "Argentina", Count = 2577
            });
            CountryDetails.Add(new Populations()
            {
                Countries = "USA", Count = 2473
            });
            CountryDetails.Add(new Populations()
            {
                Countries = "Germany", Count = 2120
            });
            CountryDetails.Add(new Populations()
            {
                Countries = "Netherlands", Count = 2071
            });
            CountryDetails.Add(new Populations()
            {
                Countries = "Malta", Count = 960
            });


            CompanyDetails = new List <CompanyDetail>();
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "Rolls Royce", CompanyTurnover = 750000
            });
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "Benz", CompanyTurnover = 500000
            });
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "Audi", CompanyTurnover = 450000
            });
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "BMW", CompanyTurnover = 700000
            });
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "Mahindra", CompanyTurnover = 350000
            });
            CompanyDetails.Add(new CompanyDetail()
            {
                CompanyName = "Jaguar", CompanyTurnover = 650000
            });

            Metric = new List <Metrics>();
            Metric.Add(new Metrics()
            {
                ResponseTime = 43, Utilization = 10
            });
            Metric.Add(new Metrics()
            {
                ResponseTime = 20, Utilization = 20
            });
            Metric.Add(new Metrics()
            {
                ResponseTime = 67, Utilization = 30
            });
            Metric.Add(new Metrics()
            {
                ResponseTime = 52, Utilization = 40
            });
            Metric.Add(new Metrics()
            {
                ResponseTime = 71, Utilization = 50
            });
            Metric.Add(new Metrics()
            {
                ResponseTime = 30, Utilization = 60
            });

            this.Population = new List <Populations>();
            Population.Add(new Populations()
            {
                Continent = "Asia", Countries = "China", States = "Taiwan", PopulationinContinents = 50.02, PopulationinCountries = 26.02, PopulationinStates = 18.02
            });
            Population.Add(new Populations()
            {
                Continent = "Africa", Countries = "India", States = "Shandong", PopulationinContinents = 20.81, PopulationinCountries = 24, PopulationinStates = 8
            });
            Population.Add(new Populations()
            {
                Continent = "Europe", Countries = "Nigeria", States = "UP", PopulationinContinents = 15.37, PopulationinCountries = 12.81, PopulationinStates = 14.5
            });
            Population.Add(new Populations()
            {
                Countries = "Ethiopia", States = "Bihar", PopulationinCountries = 8, PopulationinStates = 9.5
            });
            Population.Add(new Populations()
            {
                Countries = "Germany", States = "Kano", PopulationinCountries = 8.37, PopulationinStates = 7.81
            });
            Population.Add(new Populations()
            {
                Countries = "Turkey", States = "Lagos", PopulationinCountries = 7, PopulationinStates = 5
            });
            Population.Add(new Populations()
            {
                States = "Oromia", PopulationinStates = 5
            });
            Population.Add(new Populations()
            {
                States = "Amhara", PopulationinStates = 3
            });
            Population.Add(new Populations()
            {
                States = "Hessen", PopulationinStates = 5.37
            });
            Population.Add(new Populations()
            {
                States = "Bayern", PopulationinStates = 3
            });
            Population.Add(new Populations()
            {
                States = "Mugla", PopulationinStates = 4.5
            });
            Population.Add(new Populations()
            {
                States = "Ankara", PopulationinStates = 2.5
            });

            CustomBrush1 = new ChartColorModel();
            CustomBrush2 = new ChartColorModel();
            CustomBrush3 = new ChartColorModel();

            CustomBrush1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
            CustomBrush2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
            CustomBrush3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
        }
Example #8
0
        private void OnChartTypeSelectionChanged1(object sender, SelectionChangedEventArgs e)
        {
            ComboBox comboBox = sender as ComboBox;

            if (comboBox.SelectedIndex == 0 && viewModel != null)
            {
                if (Accumulation_charts != null)
                {
                    PieSeries          series1        = new PieSeries();
                    ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                    ChartLegend1.Visibility = Visibility.Visible;

                    DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                    adornmentInfo1.ShowLabel           = true;
                    adornmentInfo1.LabelTemplate       = template1;
                    adornmentInfo1.AdornmentsPosition  = AdornmentsPosition.Bottom;
                    adornmentInfo1.HorizontalAlignment = HorizontalAlignment.Center;
                    adornmentInfo1.VerticalAlignment   = VerticalAlignment.Center;
                    adornmentInfo1.ShowConnectorLine   = true;
                    adornmentInfo1.ConnectorHeight     = 80;
                    adornmentInfo1.ShowLabel           = true;
                    adornmentInfo1.UseSeriesPalette    = true;
                    adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;

                    series1.XBindingPath      = "Expense";
                    series1.YBindingPath      = "Amount";
                    series1.ItemsSource       = viewModel.Expenditure;
                    series1.ConnectorType     = ConnectorMode.Bezier;
                    series1.PieCoefficient    = 0.7;
                    series1.EnableSmartLabels = true;
                    series1.LabelPosition     = CircularSeriesLabelPosition.OutsideExtended;
                    series1.AdornmentsInfo    = adornmentInfo1;

                    Accumulation_charts.Header = "Agriculture Expenses Comparison";
                    Accumulation_charts.Series.Clear();
                    Accumulation_charts.Series.Add(series1);
                }
            }
            if (comboBox.SelectedIndex == 1 && viewModel != null)
            {
                PieSeries series1 = new PieSeries();
                PieSeries series2 = new PieSeries();
                PieSeries series3 = new PieSeries();

                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo();

                ChartColorModel color1 = new ChartColorModel();
                ChartColorModel color2 = new ChartColorModel();
                ChartColorModel color3 = new ChartColorModel();

                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                DataTemplate template1 = MainGrid.Resources["populationLabelTemplate1"] as DataTemplate;
                DataTemplate template2 = MainGrid.Resources["populationLabelTemplate2"] as DataTemplate;
                DataTemplate template3 = MainGrid.Resources["populationLabelTemplate3"] as DataTemplate;

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo1.LabelTemplate       = template1;

                adornmentInfo2.ShowLabel           = true;
                adornmentInfo2.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo2.LabelTemplate       = template2;

                adornmentInfo3.ShowLabel           = true;
                adornmentInfo3.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo3.LabelTemplate       = template3;

                series1.ItemsSource    = viewModel.Population;
                series1.XBindingPath   = "Continent";
                series1.YBindingPath   = "PopulationinContinents";
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Stroke         = new SolidColorBrush(Colors.White);
                series1.PieCoefficient = 1;
                series1.Label          = "Continents";
                series1.Palette        = ChartColorPalette.Custom;
                series1.ColorModel     = color1;

                series2.ItemsSource    = viewModel.Population;
                series2.XBindingPath   = "Countries";
                series2.YBindingPath   = "PopulationinCountries";
                series2.AdornmentsInfo = adornmentInfo2;
                series2.Stroke         = new SolidColorBrush(Colors.White);
                series2.PieCoefficient = 1;
                series2.Label          = "Countries";
                series2.Palette        = ChartColorPalette.Custom;
                series2.ColorModel     = color2;

                series3.ItemsSource    = viewModel.Population;
                series3.XBindingPath   = "States";
                series3.YBindingPath   = "PopulationinStates";
                series3.AdornmentsInfo = adornmentInfo3;
                series3.Stroke         = new SolidColorBrush(Colors.White);
                series3.PieCoefficient = 1;
                series3.Label          = "States";
                series3.Palette        = ChartColorPalette.Custom;
                series3.ColorModel     = color3;

                Accumulation_charts.Header = "Most populated continents";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
                Accumulation_charts.Series.Add(series2);
                Accumulation_charts.Series.Add(series3);
            }
            if (comboBox.SelectedIndex == 2 && viewModel != null)
            {
                PieSeries          series1        = new PieSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                series1.Margin                     = new Thickness(0, 25, 0, 0);
                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.ShowConnectorLine   = true;
                adornmentInfo1.UseSeriesPalette    = true;
                adornmentInfo1.ConnectorHeight     = 37;
                adornmentInfo1.SegmentLabelContent = LabelContent.Percentage;
                adornmentInfo1.SegmentLabelFormat  = "##.#";

                series1.XBindingPath      = "Utilization";
                series1.YBindingPath      = "ResponseTime";
                series1.StartAngle        = 180;
                series1.EndAngle          = 360;
                series1.ConnectorType     = ConnectorMode.Bezier;
                series1.EnableSmartLabels = true;
                series1.LabelPosition     = CircularSeriesLabelPosition.Outside;
                series1.ItemsSource       = viewModel.Metric;
                series1.AdornmentsInfo    = adornmentInfo1;

                Accumulation_charts.Header = "Application Performance Metrics";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 3 && viewModel != null)
            {
                DoughnutSeries     series1        = new DoughnutSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Visible;

                DataTemplate template1 = MainGrid.Resources["labeltemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;

                Accumulation_charts.Series.Clear();
                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 4 && viewModel != null)
            {
                DoughnutSeries series1 = new DoughnutSeries();
                DoughnutSeries series2 = new DoughnutSeries();
                DoughnutSeries series3 = new DoughnutSeries();

                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo();
                ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo();

                ChartColorModel color1 = new ChartColorModel();
                ChartColorModel color2 = new ChartColorModel();
                ChartColorModel color3 = new ChartColorModel();

                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color1.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color2.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 233, 70, 73)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 15, 185, 84)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));
                color3.CustomBrushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 82, 119)));

                DataTemplate template1 = MainGrid.Resources["populationLabelTemplate1"] as DataTemplate;
                DataTemplate template2 = MainGrid.Resources["populationLabelTemplate2"] as DataTemplate;
                DataTemplate template3 = MainGrid.Resources["populationLabelTemplate3"] as DataTemplate;

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo1.LabelTemplate       = template1;

                adornmentInfo2.ShowLabel           = true;
                adornmentInfo2.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo2.LabelTemplate       = template2;

                adornmentInfo3.ShowLabel           = true;
                adornmentInfo3.SegmentLabelContent = LabelContent.LabelContentPath;
                adornmentInfo3.LabelTemplate       = template3;

                series1.ItemsSource         = viewModel.Population;
                series1.XBindingPath        = "Continent";
                series1.YBindingPath        = "PopulationinContinents";
                series1.AdornmentsInfo      = adornmentInfo1;
                series1.Stroke              = new SolidColorBrush(Colors.White);
                series1.DoughnutCoefficient = 1;
                series1.DoughnutSize        = 1;
                series1.Label      = "Continents";
                series1.Palette    = ChartColorPalette.Custom;
                series1.ColorModel = color1;

                series2.ItemsSource         = viewModel.Population;
                series2.XBindingPath        = "Countries";
                series2.YBindingPath        = "PopulationinCountries";
                series2.AdornmentsInfo      = adornmentInfo2;
                series2.Stroke              = new SolidColorBrush(Colors.White);
                series2.DoughnutCoefficient = 1;
                series2.DoughnutSize        = 1;
                series2.Label      = "Countries";
                series2.Palette    = ChartColorPalette.Custom;
                series2.ColorModel = color2;

                series3.ItemsSource         = viewModel.Population;
                series3.XBindingPath        = "States";
                series3.YBindingPath        = "PopulationinStates";
                series3.AdornmentsInfo      = adornmentInfo3;
                series3.Stroke              = new SolidColorBrush(Colors.White);
                series3.DoughnutCoefficient = 1;
                series3.DoughnutSize        = 1;
                series3.Label      = "States";
                series3.Palette    = ChartColorPalette.Custom;
                series3.ColorModel = color3;

                Accumulation_charts.Header = "Most populated continents";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
                Accumulation_charts.Series.Add(series2);
                Accumulation_charts.Series.Add(series3);
            }
            if (comboBox.SelectedIndex == 5 && viewModel != null)
            {
                DoughnutSeries     series1        = new DoughnutSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                adornmentInfo1.ShowLabel           = true;
                adornmentInfo1.ShowConnectorLine   = true;
                adornmentInfo1.UseSeriesPalette    = true;
                adornmentInfo1.ConnectorHeight     = 37;
                adornmentInfo1.SegmentLabelContent = LabelContent.Percentage;
                adornmentInfo1.SegmentLabelFormat  = "##.#";

                series1.XBindingPath      = "Utilization";
                series1.YBindingPath      = "ResponseTime";
                series1.StartAngle        = 180;
                series1.EndAngle          = 360;
                series1.ConnectorType     = ConnectorMode.Bezier;
                series1.EnableSmartLabels = true;
                series1.LabelPosition     = CircularSeriesLabelPosition.Outside;
                series1.Margin            = new Thickness(0, 25, 0, 0);
                series1.ItemsSource       = viewModel.Metric;
                series1.AdornmentsInfo    = adornmentInfo1;

                Accumulation_charts.Header = "Application Performance Metrics";
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 6 && viewModel != null)
            {
                PyramidSeries      series1        = new PyramidSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Margin         = new Thickness(20, 0, 20, 20);

                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Margin = new Thickness(20, 20, 20, 20);
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
            if (comboBox.SelectedIndex == 7 && viewModel != null)
            {
                FunnelSeries       series1        = new FunnelSeries();
                ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo();

                ChartLegend1.Visibility = Visibility.Collapsed;

                DataTemplate template1 = MainGrid.Resources["labelTemplate"] as DataTemplate;
                adornmentInfo1.ShowLabel     = true;
                adornmentInfo1.LabelTemplate = template1;

                series1.XBindingPath   = "CompanyName";
                series1.YBindingPath   = "CompanyTurnover";
                series1.ItemsSource    = viewModel.CompanyDetails;
                series1.AdornmentsInfo = adornmentInfo1;
                series1.Margin         = new Thickness(20, 0, 20, 20);

                Accumulation_charts.Header = "Top car company's turnover";
                Accumulation_charts.Margin = new Thickness(20, 20, 20, 20);
                Accumulation_charts.Series.Clear();
                Accumulation_charts.Series.Add(series1);
            }
        }