예제 #1
0
        public static string GeneratePolarChart()
        {
            Chart chart = new Chart();

            chart.Type = "polarArea";

            Data data = new Data();

            data.Labels = new List <string>()
            {
                "Red", "Green", "Yellow", "Grey", "Blue"
            };

            PolarDataset dataset = new PolarDataset()
            {
                Label           = "My dataset",
                BackgroundColor = new List <string>()
                {
                    "#FF6384", "#4BC0C0", "#FFCE56", "#E7E9ED", "#36A2EB"
                },
                Data = new List <double>()
                {
                    11, 16, 7, 3, 14
                }
            };

            data.Datasets = new List <Dataset>();
            data.Datasets.Add(dataset);

            chart.Data = data;

            string code = chart.CreateChartCode("polarChart");

            return(code);
        }
        private async Task <Chart> GenerateGameChart()
        {
            var allGames    = gameRepository.GetAll();
            var allProfiles = dbContext.Users
                              .Include(u => u.GameProfiles)
                              .ThenInclude(gp => gp.Game)
                              .SelectMany(u => u.GameProfiles)
                              .ToList();
            var usersPerGame = new Dictionary <string, int>();

            foreach (var game in allGames)
            {
                var count = allProfiles
                            .Count(p => p.Game.Id == game.Id);
                usersPerGame.Add(game.Name, count);
            }

            var chart = new Chart {
                Type = Enums.ChartType.PolarArea
            };

            var data = new ChartJSCore.Models.Data
            {
                Labels = usersPerGame.Keys.ToList()
            };

            var dataset = new PolarDataset
            {
                Label           = "My dataset",
                BackgroundColor = new List <ChartColor>
                {
                    ChartColor.FromHexString("#FF6384"),
                    ChartColor.FromHexString("#4BC0C0"),
                    ChartColor.FromHexString("#FFCE56")
                },
                Data = usersPerGame.Values.Select <int, double?>(i => i).ToList()
            };

            data.Datasets = new List <Dataset> {
                dataset
            };

            chart.Data = data;

            return(chart);
        }
예제 #3
0
        private static Chart GeneratePolarChart()
        {
            var chart = new Chart {
                Type = Enums.ChartType.PolarArea
            };

            var data = new Data
            {
                Labels = new List <string>
                {
                    "Red",
                    "Green",
                    "Yellow",
                    "Grey",
                    "Blue"
                }
            };

            var dataset = new PolarDataset
            {
                Label           = "My dataset",
                BackgroundColor = new List <ChartColor>
                {
                    ChartColor.FromHexString("#FF6384"),
                    ChartColor.FromHexString("#4BC0C0"),
                    ChartColor.FromHexString("#FFCE56"),
                    ChartColor.FromHexString("#E7E9ED"),
                    ChartColor.FromHexString("#36A2EB")
                },
                Data = new List <double?> {
                    11, 16, 7, 3, 14
                }
            };

            data.Datasets = new List <Dataset> {
                dataset
            };

            chart.Data = data;

            return(chart);
        }
예제 #4
0
        public ContentResult OnGetChartData(string hashtags)
        {
            List <string> colors = new List <string>()
            {
                "#FF6384", "#4BC0C0", "#FFCE56", "#E7E9ED", "#36A2EB"
            };

            List <TweetsData> tweets = GetTweets(hashtags);

            var   dates = tweets.GroupBy(d => d.Date).Select(k => k.Key).ToList();
            Chart chart = new Chart
            {
                Type = Enums.ChartType.PolarArea
            };

            Data data = new Data();

            data.Labels = tweets.GroupBy(k => k.Keyword).Select(k => k.Key).ToList();
            PolarDataset dataset = new PolarDataset()
            {
                Label           = "Keywords dataset",
                BackgroundColor = new List <ChartColor>(),
                Data            = new List <double?>()
            };
            Random rnd = new Random();
            int    i   = 0;

            foreach (string label in data.Labels)
            {
                dataset.Data.Add(tweets.Where(l => l.Keyword == label).GroupBy(k => k.Count).Select(c => c.Key).Sum());
                //ChartColor.FromHexString(string.Format("#{0:X6}", rnd.Next(0x1000000))) < random colors
                dataset.BackgroundColor.Add(ChartColor.FromHexString(colors[i]));
                i++;
            }
            data.Datasets = new List <Dataset>
            {
                dataset
            };
            chart.Data = data;
            return(Content(chart.CreateChartCode("lineChart")));
        }
        private Chart GetSpendingByCategoryChart(StatisticsViewModel statisticsViewModel)
        {
            Chart chart = new Chart();
            Data  data  = new Data();

            data.Datasets = new List <Dataset>();
            chart.Data    = data;
            chart.Type    = Enums.ChartType.PolarArea;

            var categories = statisticsViewModel.SpendingByCategoryMap.Keys.ToList();
            var values     = statisticsViewModel.SpendingByCategoryMap.Values.ToList();

            data.Labels = categories;
            PolarDataset dataset = new PolarDataset()
            {
                Label           = "TestChart",
                Data            = values,
                BackgroundColor = GetColors(statisticsViewModel.SpendingByCategoryMap.Keys.Count)
            };

            data.Datasets.Add(dataset);
            return(chart);
        }
예제 #6
0
        public Chart GeneratePolarChart()
        {
            Chart chart = new Chart
            {
                Type = "polarArea"
            };

            ChartJSCore.Models.Data data = new ChartJSCore.Models.Data
            {
                Labels = new List <string>()
                {
                    "Red", "Green", "Yellow", "Grey", "Blue"
                }
            };

            PolarDataset dataset = new PolarDataset()
            {
                Label           = "My dataset",
                BackgroundColor = new List <string>()
                {
                    "#FF6384", "#4BC0C0", "#FFCE56", "#E7E9ED", "#36A2EB"
                },
                Data = new List <double>()
                {
                    11, 16, 7, 3, 14
                }
            };

            data.Datasets = new List <Dataset>
            {
                dataset
            };

            chart.Data = data;

            return(chart);
        }
예제 #7
0
        public IActionResult Polar()
        {
            Chart chart = new Chart();

            chart.Type = Enums.ChartType.PolarArea;

            Data data = new Data();

            data.Labels = new List <string>()
            {
                "Red", "Green", "Yellow", "Grey", "Blue"
            };

            PolarDataset dataset = new PolarDataset()
            {
                Label           = "My dataset",
                BackgroundColor = new List <string>()
                {
                    "#FF6384", "#4BC0C0", "#FFCE56", "#E7E9ED", "#36A2EB"
                },
                Data = new List <double>()
                {
                    11, 16, 7, 3, 14
                }
            };

            data.Datasets = new List <Dataset>();
            data.Datasets.Add(dataset);

            chart.Data = data;

            string code = chart.CreateChartCode("polarChart");

            ViewData["chart"] = chart;

            return(View());
        }
예제 #8
0
        private static Chart GeneratePolarChart(List <Project> listOfProjects)
        {
            Chart chart = new Chart();

            chart.Type = Enums.ChartType.PolarArea;

            Data data = new Data();

            data.Labels = new List <string>()
            {
                "Red", "Green", "Yellow", "Grey", "Blue"
            };

            PolarDataset dataset = new PolarDataset()
            {
                Label           = "My dataset",
                BackgroundColor = new List <ChartColor>()
                {
                    ChartColor.FromHexString("#FF6384"),
                    ChartColor.FromHexString("#4BC0C0"),
                    ChartColor.FromHexString("#FFCE56"),
                    ChartColor.FromHexString("#E7E9ED"),
                    ChartColor.FromHexString("#36A2EB")
                },
                Data = new List <double>()
                {
                    11, 16, 7, 3, 14
                }
            };

            data.Datasets = new List <Dataset>();
            data.Datasets.Add(dataset);

            chart.Data = data;

            return(chart);
        }
예제 #9
0
        public IActionResult MyStatement()
        {
            var accountUserId = ViewData["Id"] = UserManager.GetUserId(User);
            var userOwner     = Repository.Single(p => p.Account.Id == (int)accountUserId);

            #region linechart
            Chart chart1 = new Chart {
                Type = "line"
            };

            Data data1 = new Data {
                Labels = new List <string>()
            };
            LineDataset dataset1P = new LineDataset()
            {
                Label            = "Production",
                Data             = new List <double>(),
                Fill             = false,
                LineTension      = 0.1,
                BackgroundColor  = "rgba(52, 201, 36, 0.4)",
                BorderColor      = "rgba(52, 201, 36,1)",
                BorderCapStyle   = "butt",
                BorderDash       = new List <int>(),
                BorderDashOffset = 0.0,
                BorderJoinStyle  = "miter",
                PointBorderColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointBackgroundColor = new List <string>()
                {
                    "#fff"
                },
                PointBorderWidth = new List <int> {
                    1
                },
                PointHoverRadius = new List <int> {
                    5
                },
                PointHoverBackgroundColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointHoverBorderColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointHoverBorderWidth = new List <int> {
                    2
                },
                PointRadius = new List <int> {
                    1
                },
                PointHitRadius = new List <int> {
                    10
                },
                SpanGaps = false
            };
            LineDataset dataset1C = new LineDataset()
            {
                Label            = "Consommation",
                Data             = new List <double>(),
                Fill             = false,
                LineTension      = 0.1,
                BackgroundColor  = "rgba(187, 11, 11, 0.4)",
                BorderColor      = "rgba(187, 11, 11,1)",
                BorderCapStyle   = "butt",
                BorderDash       = new List <int>(),
                BorderDashOffset = 0.0,
                BorderJoinStyle  = "miter",
                PointBorderColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointBackgroundColor = new List <string>()
                {
                    "#fff"
                },
                PointBorderWidth = new List <int> {
                    1
                },
                PointHoverRadius = new List <int> {
                    5
                },
                PointHoverBackgroundColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointHoverBorderColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointHoverBorderWidth = new List <int> {
                    2
                },
                PointRadius = new List <int> {
                    1
                },
                PointHitRadius = new List <int> {
                    10
                },
                SpanGaps = false
            };
            var statements1 = StatementRepository.Find(p => p.Equipment.Owner.Id == userOwner.Id).OrderBy(p => p.Date).GroupBy(p => p.Date);
            foreach (var statement in statements1)
            {
                var prod  = 0.0;
                var count = 0;
                foreach (var state in statement)
                {
                    if (count == 0)
                    {
                        dataset1C.Data.Add(state.Consommation);
                        data1.Labels.Add(state.Date.ToString(CultureInfo.CurrentCulture));
                    }
                    count++;
                    prod += state.Production;
                }
                dataset1P.Data.Add(prod);
            }

            data1.Datasets = new List <Dataset> {
                dataset1P, dataset1C
            };

            chart1.Data = data1;

            ViewData["chart1"] = chart1;
            #endregion
            #region barchart
            Chart chart2 = new Chart {
                Type = "bar"
            };

            Data data2 = new Data {
                Labels = new List <string>()
            };
            LineDataset dataset2P = new LineDataset()
            {
                Label            = "Production",
                Data             = new List <double>(),
                Fill             = false,
                LineTension      = 0.1,
                BackgroundColor  = "rgba(52, 201, 36, 0.4)",
                BorderColor      = "rgba(52, 201, 36,1)",
                BorderCapStyle   = "butt",
                BorderDash       = new List <int>(),
                BorderDashOffset = 0.0,
                BorderJoinStyle  = "miter",
                PointBorderColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointBackgroundColor = new List <string>()
                {
                    "#fff"
                },
                PointBorderWidth = new List <int> {
                    1
                },
                PointHoverRadius = new List <int> {
                    5
                },
                PointHoverBackgroundColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointHoverBorderColor = new List <string>()
                {
                    "rgba(52, 201, 36,1)"
                },
                PointHoverBorderWidth = new List <int> {
                    2
                },
                PointRadius = new List <int> {
                    1
                },
                PointHitRadius = new List <int> {
                    10
                },
                SpanGaps = false
            };
            LineDataset dataset2C = new LineDataset()
            {
                Label            = "Consommation",
                Data             = new List <double>(),
                Fill             = false,
                LineTension      = 0.1,
                BackgroundColor  = "rgba(187, 11, 11, 0.4)",
                BorderColor      = "rgba(187, 11, 11,1)",
                BorderCapStyle   = "butt",
                BorderDash       = new List <int>(),
                BorderDashOffset = 0.0,
                BorderJoinStyle  = "miter",
                PointBorderColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointBackgroundColor = new List <string>()
                {
                    "#fff"
                },
                PointBorderWidth = new List <int> {
                    1
                },
                PointHoverRadius = new List <int> {
                    5
                },
                PointHoverBackgroundColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointHoverBorderColor = new List <string>()
                {
                    "rgba(187, 11, 11,1)"
                },
                PointHoverBorderWidth = new List <int> {
                    2
                },
                PointRadius = new List <int> {
                    1
                },
                PointHitRadius = new List <int> {
                    10
                },
                SpanGaps = false
            };
            var statements2 = StatementRepository.Find(p => p.Equipment.Owner.Id == userOwner.Id).OrderBy(p => p.Date).GroupBy(p => p.Date);
            foreach (var statement in statements2)
            {
                var prod  = 0.0;
                var count = 0;
                foreach (var state in statement)
                {
                    if (count == 0)
                    {
                        dataset2C.Data.Add(state.Consommation);
                        data2.Labels.Add(state.Date.ToString(CultureInfo.CurrentCulture));
                    }
                    count++;
                    prod += state.Production;
                }
                dataset2P.Data.Add(prod);
            }

            data2.Datasets = new List <Dataset> {
                dataset2P, dataset2C
            };

            chart2.Data = data2;

            ViewData["chart2"] = chart2;
            #endregion
            #region piechart
            Chart chart3 = new Chart {
                Type = "polarArea"
            };

            Data data3 = new Data {
                Labels = new List <string>()
            };
            PolarDataset dataset3 = new PolarDataset()
            {
                Label           = "My Production",
                BackgroundColor = new List <string>(),
                Data            = new List <double>()
            };

            var green       = 0;
            var statements3 = EquipmentRepository.Find(p => p.Owner.Id == userOwner.Id);
            foreach (var statement in statements3)
            {
                data3.Labels.Add(statement.Name);
                var somme = 0.0;
                var tests = StatementRepository.Find(p => p.Equipment.Owner.Id == userOwner.Id &&
                                                     p.Equipment == statement);
                foreach (var test in tests)
                {
                    somme += test.Production;
                }
                dataset3.BackgroundColor.Add("rgba(" + green + ", 137, 35, 0.6)");
                green += 20;
                dataset3.Data.Add(somme);
            }

            data3.Datasets = new List <Dataset> {
                dataset3
            };

            chart3.Data = data3;

            ViewData["chart3"] = chart3;
            #endregion
            return(View(userOwner));
        }