private void InitializeChart()
        {
            if (supportLineChart != null && supportLineChart.ChartData != null && lineChart != null)
            {
                SupportChart.OnInitializeChart(supportLineChart, lineChart);


                var data         = supportLineChart.ChartData;
                var dataSetItems = new List <LineChartDataSet>();

                foreach (var itemChild in data.IF_GetDataSet())
                {
                    var entryOriginal            = itemChild.IF_GetEntry().Select(item => new iOSCharts.ChartDataEntry(item.GetXPosition(), item.GetYPosition()));
                    LineChartDataSet lineDataSet = new LineChartDataSet(entryOriginal.ToArray(), itemChild.IF_GetTitle());
                    lineDataSet.SetColor(itemChild.IF_GetDataColor().ToUIColor());
                    lineDataSet.Mode               = (SupportChart.GetDrawLineMode(itemChild.IF_GetDrawMode()));
                    lineDataSet.CircleRadius       = itemChild.IF_GetCircleRadius();
                    lineDataSet.CircleHoleRadius   = itemChild.IF_GetCircleHoleRadius();
                    lineDataSet.DrawCirclesEnabled = (itemChild.IF_GetDrawCircle());
                    lineDataSet.DrawValuesEnabled  = (itemChild.IF_GetDrawValue());

                    var arrColor = itemChild.IF_GetCircleColors().Select(item => item.ToUIColor());
                    lineDataSet.SetCircleColor(itemChild.IF_GetCircleColor().ToUIColor());
                    dataSetItems.Add(lineDataSet);
                }

                LineChartData lineData = new LineChartData(dataSetItems.ToArray());
                lineChart.Data = lineData;
            }
        }
Esempio n. 2
0
        public static ChartData GetLineChartData(AnalyticsDataResponse apiResults)
        {
            // Get the amount of dimensions and metrics
            int dimensions = apiResults.ColumnHeaders.Count(x => x.ColumnType == "DIMENSION");
            int metrics    = apiResults.ColumnHeaders.Count(x => x.ColumnType == "METRIC");

            var chartLabels = new string[] {};

            if (apiResults.ColumnHeaders.Count() == 5)
            {
                chartLabels = apiResults.Rows.Select(row => row.Cells[2] + "/" + row.Cells[1] + "/" + row.Cells[0]).ToArray();
            }
            else
            {
                chartLabels = apiResults.Rows.Select(row => row.Cells[1] + "/" + row.Cells[0]).ToArray();
            }

            // Initialize the data object
            ChartData cd = new ChartData
            {
                labels   = chartLabels,
                datasets = new LineChartDataSet[metrics]
            };

            // Add a dataset for each metric
            for (int metric = 0; metric < metrics; metric++)
            {
                // Initialize the data object
                LineChartDataSet ds = cd.datasets[metric] = new LineChartDataSet();
                ds.fillColor            = GetFillColor(metric);
                ds.strokeColor          = GetStrokeColor(metric);
                ds.pointColor           = GetFillColor(metric);
                ds.pointStrokeColor     = GetStrokeColor(metric);
                ds.pointHighlightFill   = GetPointHighlightFillColor();
                ds.pointHighlightStroke = GetPointHighlightStrokeColor(metric);
                ds.data = new object[apiResults.Rows.Length];

                for (int row = 0; row < apiResults.Rows.Length; row++)
                {
                    // Get the value
                    string value = apiResults.Rows[row].Cells[dimensions + metric].Value;

                    // Set the value with the proper type
                    if (Regex.IsMatch(value, "^[0-9]+$"))
                    {
                        ds.data[row] = Int32.Parse(value);
                    }
                    else
                    {
                        ds.data[row] = value;
                    }
                }
            }

            return(cd);
        }
        /*
         * EXPORT FOR LINE
         */
        public iOSCharts.LineChartData ExportLineData(Widget.Charts.Models.LineChart.LineChartData bubbleChartData)
        {
            var dataSetItems = new List <LineChartDataSet>();

            foreach (var item in bubbleChartData.DataSets)
            {
                var entryOriginal = item.IF_GetValues().Select(obj => new ChartDataEntry(obj.GetXPosition(), obj.GetYPosition()));
                var dataSet       = new LineChartDataSet(entryOriginal.ToArray(), item.IF_GetLabel());
                OnIntializeDataSetLine(item, dataSet);
                dataSetItems.Add(dataSet);
            }
            var data = new iOSCharts.LineChartData(dataSetItems.ToArray());

            return(data);
        }
        private void OnIntializeDataSetLine(ILineDataSetXF source, LineChartDataSet original)
        {
            OnSettingsLineRadarDataSet(source, original);

            if (source.IF_GetMode().HasValue)
            {
                original.Mode = (GetDrawLineMode(source.IF_GetMode().Value));
            }

            if (source.IF_GetCircleColors() != null && source.IF_GetCircleColors().Count > 0)
            {
                original.CircleColors = source.IF_GetCircleColors().Select(item => item.ToUIColor()).ToArray();
            }

            if (source.IF_GetCircleHoleColor().HasValue)
            {
                original.CircleHoleColor = source.IF_GetCircleHoleColor().Value.ToUIColor();
            }

            if (source.IF_GetCircleRadius().HasValue)
            {
                original.CircleRadius = source.IF_GetCircleRadius().Value;
            }

            if (source.IF_GetCircleHoleRadius().HasValue)
            {
                original.CircleHoleRadius = source.IF_GetCircleHoleRadius().Value;
            }

            if (source.IF_GetCubicIntensity().HasValue)
            {
                original.CubicIntensity = source.IF_GetCubicIntensity().Value;
            }

            if (source.IF_GetDrawCircles().HasValue)
            {
                original.DrawCirclesEnabled = (source.IF_GetDrawCircles().Value);
            }

            if (source.IF_GetDrawCircleHole().HasValue)
            {
                original.DrawCircleHoleEnabled = (source.IF_GetDrawCircleHole().Value);
            }
        }
Esempio n. 5
0
        void Initialize()
        {
            BackgroundColor = UIColor.Red;
            lcv             = new LineChartView();

            ChartDataEntry[] cde       = new ChartDataEntry[10];
            string           labelName = "";

            LineChartDataSet lcds = new LineChartDataSet(cde, labelName);

            LineChartData lcd = new LineChartData();

            lcd.AddDataSet(lcds);

            lcv.Add(this);
            lcv.Data = lcd;



            lcv.SetNeedsDisplay();
        }
Esempio n. 6
0
        public ActionResult GetInventoryGroupJson()
        {
            string[] month     = new string[12];
            string[] inWeight  = new string[12];
            string[] outWeight = new string[12];

            string inGroupSql  = @"
                select 
	                top 12 sum(Weight) Weight, cast(year(F_CreatorTime) as varchar(4))+'-'+right('00' +cast(month(F_CreatorTime) as varchar(2)),2) Date 
                from Inventory 
                group by year(F_CreatorTime),month(F_CreatorTime) order by year(F_CreatorTime) desc,month(F_CreatorTime) desc";
            string outGroupSql = @"
                select 
	                top 12 sum(Weight) Weight, cast(year(F_CreatorTime) as varchar(4))+'-'+right('00' +cast(month(F_CreatorTime) as varchar(2)),2) Date 
                from InventoryOut 
                group by year(F_CreatorTime),month(F_CreatorTime) order by year(F_CreatorTime) desc,month(F_CreatorTime) desc";

            DataView inGroup  = DbHelper.ExecuteToDataView(inGroupSql);
            DataView outGroup = DbHelper.ExecuteToDataView(outGroupSql);

            for (int i = 0; i < 12; i++)
            {
                month[i] = DateTime.Now.AddMonths(i - 11).ToString("yyyy-MM");
                foreach (DataRowView drv in inGroup)
                {
                    if (month[i] == Convert.ToString(drv["Date"]))
                    {
                        inWeight[i] = Convert.ToString(drv["Weight"]);
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(inWeight[i]))
                        {
                            inWeight[i] = "0";
                        }
                    }
                }
                foreach (DataRowView drv in outGroup)
                {
                    if (month[i] == Convert.ToString(drv["Date"]))
                    {
                        outWeight[i] = Convert.ToString(drv["Weight"]);
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(outWeight[i]))
                        {
                            outWeight[i] = "0";
                        }
                    }
                }
            }

            LineChartDataSet lineChartDataSet1 = new LineChartDataSet()
            {
                value                = "入库",
                fillColor            = "rgba(220,220,220,0.2)",
                strokeColor          = "rgba(220,220,220,1)",
                pointColor           = "rgba(220,220,220,1)",
                pointStrokeColor     = "#fff",
                pointHighlightFill   = "#fff",
                pointHighlightStroke = "rgba(220,220,220,1)",
                data = inWeight
            };

            LineChartDataSet lineChartDataSet2 = new LineChartDataSet()
            {
                value                = "出库",
                fillColor            = "rgba(151,187,205,0.2)",
                strokeColor          = "rgba(151,187,205,1)",
                pointColor           = "rgba(151,187,205,1)",
                pointStrokeColor     = "#fff",
                pointHighlightFill   = "#fff",
                pointHighlightStroke = "rgba(151,187,205,1)",
                data = outWeight
            };

            LineChartData lineChartData = new LineChartData()
            {
                labels = month
            };

            lineChartData.datasets.Add(lineChartDataSet1);
            lineChartData.datasets.Add(lineChartDataSet2);

            return(Content(lineChartData.ToJson()));
        }
        void SetData()
        {
            List <ChartDataEntry> entries       = new List <ChartDataEntry>();
            List <ChartDataEntry> secondEntries = new List <ChartDataEntry>();
            List <ChartDataEntry> thirdEntries  = new List <ChartDataEntry>();
            List <ChartDataEntry> fourthEntries = new List <ChartDataEntry>();

            entries.Add(new ChartDataEntry(0, 8));
            entries.Add(new ChartDataEntry(1, 3));
            entries.Add(new ChartDataEntry(2, 1));
            entries.Add(new ChartDataEntry(3, -1));
            secondEntries.Add(new ChartDataEntry(3, -1));
            secondEntries.Add(new ChartDataEntry(4, -7));
            secondEntries.Add(new ChartDataEntry(5, -2));
            secondEntries.Add(new ChartDataEntry(6, -3));
            secondEntries.Add(new ChartDataEntry(7, -4));
            thirdEntries.Add(new ChartDataEntry(7, 2));
            thirdEntries.Add(new ChartDataEntry(8, 2.6f));
            thirdEntries.Add(new ChartDataEntry(9, 3.6f));
            thirdEntries.Add(new ChartDataEntry(10, 2.8f));
            thirdEntries.Add(new ChartDataEntry(11, 3.8f));

            LineChartDataSet set1 = null;

            set1                   = new LineChartDataSet(entries.ToArray(), " ");
            set1.LineWidth         = 3f;
            set1.CircleRadius      = 5f;
            set1.Mode              = LineChartMode.CubicBezier;
            set1.DrawValuesEnabled = false;
            set1.SetColor(UIColor.White);
            set1.DrawFilledEnabled = true;
            set1.CircleHoleColor   = UIColor.White;
            set1.SetCircleColor(UIColor.White);
            set1.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set2 = null;

            set2                   = new LineChartDataSet(secondEntries.ToArray(), " ");
            set2.LineWidth         = 3f;
            set2.CircleRadius      = 5f;
            set2.Mode              = LineChartMode.CubicBezier;
            set2.DrawValuesEnabled = false;
            set2.SetColor(UIColor.White);
            set2.DrawFilledEnabled = true;
            set2.CircleHoleColor   = UIColor.White;
            set2.SetCircleColor(UIColor.White);
            set2.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set3 = null;

            set3                   = new LineChartDataSet(thirdEntries.ToArray(), " ");
            set3.LineWidth         = 3f;
            set3.CircleRadius      = 5f;
            set3.Mode              = LineChartMode.CubicBezier;
            set3.DrawValuesEnabled = false;
            set3.SetColor(UIColor.White);
            set3.DrawFilledEnabled = true;
            set3.CircleHoleColor   = UIColor.White;
            set3.SetCircleColor(UIColor.White);
            set3.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set4 = null;

            set4                    = new LineChartDataSet(fourthEntries.ToArray(), " ");
            set4.LineWidth          = 3f;
            set4.Mode               = LineChartMode.CubicBezier;
            set4.DrawValuesEnabled  = false;
            set4.DrawCirclesEnabled = false;
            set4.SetColor(UIColor.White);
            set4.DrawFilledEnabled = true;
            set4.CircleHoleColor   = UIColor.White;
            set4.SetCircleColor(UIColor.Red);
            set4.DrawHorizontalHighlightIndicatorEnabled = false;

            List <LineChartDataSet> dataSets = new List <LineChartDataSet>();

            dataSets.Add(set1);
            dataSets.Add(set2);
            dataSets.Add(set3);
            dataSets.Add(set4);
            var t             = (IInterfaceChartDataSet[])dataSets.ToArray();
            var lineChartData = new LineChartData(t);
            var barChartData  = GenerateBarData();

            var data = new CombinedChartData();

            data.LineData = lineChartData;
            data.BarData  = barChartData;

            _chart.Data = data;

            _chart.SetVisibleXRangeMaximum(7);
        }
Esempio n. 8
0
        void SetData()
        {
            List <ChartDataEntry> entries       = new List <ChartDataEntry>();
            List <ChartDataEntry> secondEntries = new List <ChartDataEntry>();
            List <ChartDataEntry> thirdEntries  = new List <ChartDataEntry>();
            List <ChartDataEntry> fourthEntries = new List <ChartDataEntry>();

            entries.Add(new ChartDataEntry(0, 0.613));
            entries.Add(new ChartDataEntry(1, 0.365));
            entries.Add(new ChartDataEntry(2, 0.334));
            entries.Add(new ChartDataEntry(3, 0.538));
            secondEntries.Add(new ChartDataEntry(3, 0.538));
            secondEntries.Add(new ChartDataEntry(4, 0.932));
            secondEntries.Add(new ChartDataEntry(5, 1.421));
            secondEntries.Add(new ChartDataEntry(6, 1.891));
            secondEntries.Add(new ChartDataEntry(7, 2.241));
            thirdEntries.Add(new ChartDataEntry(7, 2.241));
            thirdEntries.Add(new ChartDataEntry(8, 2.397));
            thirdEntries.Add(new ChartDataEntry(9, 2.327));
            thirdEntries.Add(new ChartDataEntry(10, 2.047));
            thirdEntries.Add(new ChartDataEntry(11, 1.618));
            thirdEntries.Add(new ChartDataEntry(12, 1.146));
            thirdEntries.Add(new ChartDataEntry(13, 0.753));
            thirdEntries.Add(new ChartDataEntry(14, 0.542));
            thirdEntries.Add(new ChartDataEntry(15, 0.562));
            thirdEntries.Add(new ChartDataEntry(16, 0.797));
            thirdEntries.Add(new ChartDataEntry(17, 1.169));
            fourthEntries.Add(new ChartDataEntry(18, 1.574));

            LineChartDataSet set1 = null;

            set1                   = new LineChartDataSet(entries.ToArray(), " ");
            set1.LineWidth         = 3f;
            set1.CircleRadius      = 5f;
            set1.Mode              = LineChartMode.CubicBezier;
            set1.DrawValuesEnabled = false;
            set1.SetColor(UIColor.White);
            set1.DrawFilledEnabled = true;
            set1.FillColor         = UIColor.FromRGB(13, 168, 83);
            set1.FillAlpha         = 255;
            set1.CircleHoleColor   = UIColor.White;
            set1.SetCircleColor(UIColor.White);
            set1.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set2 = null;

            set2                   = new LineChartDataSet(secondEntries.ToArray(), " ");
            set2.LineWidth         = 3f;
            set2.CircleRadius      = 5f;
            set2.Mode              = LineChartMode.CubicBezier;
            set2.DrawValuesEnabled = false;
            set2.SetColor(UIColor.White);
            set2.DrawFilledEnabled = true;
            set2.FillColor         = UIColor.FromRGB(165, 43, 38);
            set2.FillAlpha         = 255;
            set2.CircleHoleColor   = UIColor.White;
            set2.SetCircleColor(UIColor.White);
            set2.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set3 = null;

            set3                   = new LineChartDataSet(thirdEntries.ToArray(), " ");
            set3.LineWidth         = 3f;
            set3.CircleRadius      = 5f;
            set3.Mode              = LineChartMode.CubicBezier;
            set3.DrawValuesEnabled = false;
            set3.SetColor(UIColor.White);
            set3.DrawFilledEnabled = true;
            set3.FillColor         = UIColor.FromRGB(13, 168, 83);
            set3.FillAlpha         = 255;
            set3.CircleHoleColor   = UIColor.White;
            set3.SetCircleColor(UIColor.White);
            set3.DrawHorizontalHighlightIndicatorEnabled = false;

            LineChartDataSet set4 = null;

            set4                    = new LineChartDataSet(fourthEntries.ToArray(), " ");
            set4.LineWidth          = 3f;
            set4.Mode               = LineChartMode.CubicBezier;
            set4.DrawValuesEnabled  = false;
            set4.DrawCirclesEnabled = false;
            set4.SetColor(UIColor.White);
            set4.DrawFilledEnabled = true;
            set4.FillColor         = UIColor.FromRGB(13, 168, 83);
            set4.FillAlpha         = 255;
            set4.CircleHoleColor   = UIColor.White;
            set4.SetCircleColor(UIColor.Red);
            set4.DrawHorizontalHighlightIndicatorEnabled = false;

            List <LineChartDataSet> dataSets = new List <LineChartDataSet>();

            dataSets.Add(set1);
            dataSets.Add(set2);
            dataSets.Add(set3);
            dataSets.Add(set4);
            var           t    = (IInterfaceChartDataSet[])dataSets.ToArray();
            LineChartData data = new LineChartData(t);

            _chart.Data = data;
        }
        public async Task <IActionResult> ProfileChartCategory(int categoryId)
        {
            var user = await _userManager.GetUserAsync(User);

            var             tests = _context.Tests.Where(t => t.UserId == user.Id).Where(t => t.CategoryId == categoryId).ToList();
            List <DateTime> dates = tests.Select(t => t.Date.Date).Distinct().ToList();

            List <string> dateList = new List <string>();

            foreach (var date in dates)
            {
                dateList.Add(date.Date.ToString("d/M/yyyy"));
            }
            string[] labels = dateList.ToArray();

            List <int> passedExamensList = new List <int>();
            List <int> examensList       = new List <int>();
            List <int> failedExamensList = new List <int>();

            LineChartDataSet lineChartDataSet = new LineChartDataSet();

            foreach (var date in dates)
            {
                passedExamensList.Add(tests.Where(c => c.Date.Date <= date).Where(c => c.Passed == true).Count());
                examensList.Add(tests.Where(c => c.Date.Date <= date).Count());
                failedExamensList.Add(tests.Where(c => c.Date.Date <= date).Where(c => c.Passed == false).Count());
            }
            int[]            passedExamens     = passedExamensList.ConvertAll <int>(item => (int)item).ToArray();
            int[]            examens           = examensList.ConvertAll <int>(item => (int)item).ToArray();
            int[]            failedExamens     = failedExamensList.ConvertAll <int>(item => (int)item).ToArray();
            LineChartDataSet passedExamensData = new LineChartDataSet()
            {
                data            = passedExamens,
                label           = "Examene trecute",
                borderColor     = "#41924B",
                backgroundColor = "#41924B",
                fill            = false
            };
            LineChartDataSet examensData = new LineChartDataSet()
            {
                data            = examens,
                label           = "Numarul total de examene",
                borderColor     = "#7195A3",
                backgroundColor = "#7195A3",
                fill            = false
            };
            LineChartDataSet failedExamendData = new LineChartDataSet()
            {
                data            = failedExamens,
                label           = "Numarul de examene picate",
                borderColor     = "#BF381A",
                backgroundColor = "#BF381A",
                fill            = false
            };
            /* = passedExamensList.ConvertAll<int>(item => (int)item).ToArray();*/
            LineChartData dataset = new LineChartData()
            {
                labels   = labels,
                datasets = new LineChartDataSet[] { examensData, passedExamensData, failedExamendData }
            };

            return(Json(dataset));
        }