public ChartDataSet(string title, ChartColor color, List <double?> yValues, List <string> xValues) { Title = title; Color = color; YValues = yValues; XValues = xValues; }
/********** Tracker Content View : END **********/ /********** Profile Chart View : START **********/ private void GetTrackerData() { Device.BeginInvokeOnMainThread(async() => { await Task.Factory.StartNew(() => { Entries = new List <Entry>(); UserTrackers = UserTrackers.OrderBy(t => t.ModifyDate).ToList(); int index = 0; foreach (var tracker in UserTrackers) { index++; var barColor = ChartColor.Get(index); double.TryParse(tracker.CurrentWeight, out double currentWeight); tracker.WeightLost = StartWeight - currentWeight; tracker.BackgroundColor = Xamarin.Forms.Color.FromHex(ChartColor.GetString(index)); Entries.Add(new Entry((float)tracker.WeightLost) { Label = tracker.RevisionNumberDisplayShort, ValueLabel = tracker.WeightLostDisplay.ToString(), Color = barColor, TextColor = barColor }); } SetChart(App.Configuration.GetUserGraph()); }); }); }
private Chart GetAccountStatusChart() { _logger.LogTrace("Generating chart for account in each status."); var colorMapping = new Dictionary <AccountStatus, ChartColor> { { AccountStatus.Banned, ChartColor.FromHexString("#dc3545") }, { AccountStatus.Disabled, ChartColor.FromHexString("#6c757d") }, { AccountStatus.Ok, ChartColor.FromHexString("#28a745") }, { AccountStatus.LockedOut, ChartColor.FromHexString("#ffc107") }, { AccountStatus.PendingVerification, ChartColor.FromHexString("#17a2b8") } }; var accountStatusData = _reportRepo.GetAccountStatusCount(true).ToList(); var colors = accountStatusData.Select(x => colorMapping[x.Status]).ToList(); return(new Chart { Type = Enums.ChartType.Pie, Data = new Data { Labels = accountStatusData.Select(x => Enum.GetName(typeof(AccountStatus), x.Status)).ToList(), Datasets = new List <Dataset> { new PieDataset { Label = "Account Statuses (With Empty)", BackgroundColor = colors, HoverBackgroundColor = colors, Data = accountStatusData.Select(x => (double)x.Count).ToList() } } } }); }
static LineDataset CreateChartDataSet(string label, List <double?> data) { return(new LineDataset() { Label = label, Data = data, BackgroundColor = ChartColor.CreateRandomChartColor(true), BorderColor = ChartColor.CreateRandomChartColor(true), PointBorderColor = new List <ChartColor>() { ChartColor.CreateRandomChartColor(true) }, PointBackgroundColor = new List <ChartColor>() { ChartColor.CreateRandomChartColor(true) }, PointHoverBackgroundColor = new List <ChartColor>() { ChartColor.CreateRandomChartColor(true) }, PointHoverBorderColor = new List <ChartColor>() { ChartColor.CreateRandomChartColor(true) }, Fill = "true" }); }
private Chart GetSpendingByDateChart(StatisticsViewModel statisticsViewModel) { Chart chart = new Chart(); Data data = new Data(); data.Datasets = new List <Dataset>(); chart.Data = data; chart.Type = Enums.ChartType.Line; var dates = statisticsViewModel.SpendingByDateMap.Keys.ToList(); var values = statisticsViewModel.SpendingByDateMap.Values.ToList(); data.Labels = dates; LineDataset dataset = new LineDataset() { Label = "Spending", Data = values, Fill = "false", LineTension = 0.1, BackgroundColor = ChartColor.FromRgba(75, 192, 192, 0.4), BorderColor = ChartColor.FromRgb(75, 192, 192), BorderCapStyle = "butt", BorderDash = new List <int> { }, BorderDashOffset = 0.0, BorderJoinStyle = "miter", PointBorderColor = new List <ChartColor> { ChartColor.FromRgb(75, 192, 192) }, PointBackgroundColor = new List <ChartColor> { ChartColor.FromHexString("#ffffff") }, PointBorderWidth = new List <int> { 1 }, PointHoverRadius = new List <int> { 5 }, PointHoverBackgroundColor = new List <ChartColor> { ChartColor.FromRgb(75, 192, 192) }, PointHoverBorderColor = new List <ChartColor> { ChartColor.FromRgb(220, 220, 220) }, PointHoverBorderWidth = new List <int> { 2 }, PointRadius = new List <int> { 1 }, PointHitRadius = new List <int> { 10 }, SpanGaps = false }; data.Datasets.Add(dataset); return(chart); }
public void FromHexString_Throws_FormatException_With_False_Length() { string tooShortHexString = "#12abe"; string tooLongHexString = "#12abefa"; Assert.Throws <FormatException>(() => ChartColor.FromHexString(tooShortHexString)); Assert.Throws <FormatException>(() => ChartColor.FromHexString(tooLongHexString)); }
public void FromRgb_Populates_Alpha_With_One() { double expectedAlpha = 1.0; var actualColor = ChartColor.FromRgb(0, 0, 0); Assert.AreEqual(expectedAlpha, actualColor.Alpha); }
public void GetRandomChartColor_With_Random_Alpha_Returns_Values_In_Boundry() { var randomColor = ChartColor.CreateRandomChartColor(true); Assert.That(randomColor.Red, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.That(randomColor.Green, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.That(randomColor.Blue, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.That(randomColor.Alpha, Is.GreaterThanOrEqualTo(0.0).And.LessThanOrEqualTo(1.0)); }
public void Too_Small_Alpha_Throws_ArgumentOutOfRangeException() { byte red = 0; byte green = 0; byte blue = 0; double alpha = -5; Assert.Throws <ArgumentOutOfRangeException>(() => ChartColor.FromRgba(red, green, blue, alpha)); }
private Chart GetSupplierPayoutSumChart() { _logger.LogTrace("Generating chart for total supplier payout over the past 30 days."); var supplierPayoutSumData = _reportRepo.GetSupplierPayoutSums(DateTime.Today.AddMonths(-1).AddDays(-1), DateTime.Today.AddDays(1)).OrderBy(x => x.PayedAt).ToList(); return(new Chart { Type = Enums.ChartType.Line, Data = new Data { Labels = supplierPayoutSumData.Select(x => x.PayedAt.ToShortDateString()).ToList(), Datasets = new List <Dataset> { new LineDataset { Label = "$ Total Payouts", Data = supplierPayoutSumData.Select(x => (double)x.Sum).ToList(), Fill = "false", LineTension = 0.1, BackgroundColor = ChartColor.FromRgba(40, 167, 69, 0.4), BorderColor = ChartColor.FromRgba(40, 167, 69, 1), BorderCapStyle = "butt", BorderDashOffset = 0.0, BorderJoinStyle = "miter", PointBorderColor = new List <ChartColor>() { ChartColor.FromRgba(40, 167, 69, 1) }, PointBackgroundColor = new List <ChartColor>() { ChartColor.FromHexString("#fff") }, PointBorderWidth = new List <int> { 1 }, PointHoverRadius = new List <int> { 5 }, PointHoverBackgroundColor = new List <ChartColor>() { ChartColor.FromRgba(40, 167, 69, 1) }, PointHoverBorderColor = new List <ChartColor>() { ChartColor.FromRgba(40, 220, 220, 1) }, PointHoverBorderWidth = new List <int> { 2 }, PointRadius = new List <int> { 1 }, PointHitRadius = new List <int> { 10 }, } } } }); }
private Chart GetAccountCreatedChart() { _logger.LogTrace("Generating chart for account created over the past 7 days."); var accountCreatedData = _reportRepo.GetAccountCreatedCount(DateTime.Today.AddDays(-8), DateTime.Today.AddDays(1)).OrderBy(x => x.CreatedDate).ToList(); return(new Chart { Type = Enums.ChartType.Line, Data = new Data { Labels = accountCreatedData.Select(x => x.CreatedDate.ToShortDateString()).ToList(), Datasets = new List <Dataset> { new LineDataset { Label = "# Of Accounts Created", Data = accountCreatedData.Select(x => (double)x.Count).ToList(), Fill = "false", LineTension = 0.1, BackgroundColor = ChartColor.FromRgba(75, 192, 192, 0.4), BorderColor = ChartColor.FromRgba(75, 192, 192, 1), BorderCapStyle = "butt", BorderDashOffset = 0.0, BorderJoinStyle = "miter", PointBorderColor = new List <ChartColor>() { ChartColor.FromRgba(75, 192, 192, 1) }, PointBackgroundColor = new List <ChartColor>() { ChartColor.FromHexString("#fff") }, PointBorderWidth = new List <int> { 1 }, PointHoverRadius = new List <int> { 5 }, PointHoverBackgroundColor = new List <ChartColor>() { ChartColor.FromRgba(75, 192, 192, 1) }, PointHoverBorderColor = new List <ChartColor>() { ChartColor.FromRgba(220, 220, 220, 1) }, PointHoverBorderWidth = new List <int> { 2 }, PointRadius = new List <int> { 1 }, PointHitRadius = new List <int> { 10 }, } } } }); }
public override void RenderChart(CanvasWrapper canvasWrapper, Axis axis, IMinMax minMax) { var divisor = 2.5f; var strokeWidth = 30; if (canvasWrapper.NumberOfCharts > 6) { switch (Device.RuntimePlatform) { case Device.WPF: case Device.GTK: case Device.macOS: case Device.UWP: { divisor = 2.0f; strokeWidth = 15; break; } default: { divisor = 1.5f; strokeWidth = 30; break; } } ; } var chartArea = canvasWrapper.ChartArea; var canvas = canvasWrapper.Canvas; var radius = Math.Min(chartArea.MidX, chartArea.MidY) / divisor; radius = radius - (canvasWrapper.NumberPlottedChart * strokeWidth); _chartPaint.StrokeWidth = strokeWidth; _chartPaint.Style = SKPaintStyle.Stroke; var teta = 360 - ((minMax.Ymax - OriginalData.ElementAt(0).Y) / (minMax.Ymax - minMax.Ymin) * 360); var rect = new SKRect(chartArea.MidX - radius, chartArea.MidY - radius, chartArea.MidX + radius, chartArea.MidY + radius); var path = new SKPath(); path.AddArc(rect, 90, -teta); canvas.DrawPath(path, _chartPaint); _chartPaint.Color = ChartColor.WithAlpha(70); canvas.DrawCircle(chartArea.MidX, chartArea.MidY, radius, _chartPaint); canvasWrapper.NumberPlottedChart += 1; _chartPaint.Color = ChartColor; ChartName = $"{Label} : {Value}"; RenderLegend(canvasWrapper, axis, canvas, PointPlotVariant.ScatterChart); }
public void GetRandomChartColor_Without_Random_Alpha_Returns_Values_In_Boundry_And_Alpha_One() { double expectedAlpha = 1.0; var randomColor = ChartColor.CreateRandomChartColor(false); Assert.That(randomColor.Red, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.That(randomColor.Green, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.That(randomColor.Blue, Is.GreaterThanOrEqualTo(0).And.LessThanOrEqualTo(256)); Assert.AreEqual(randomColor.Alpha, expectedAlpha); }
public async Task <Chart> GenerateBasicExpensesChart(string userId) { var toDisplay = await GetAmountPerCategory(TimePeriod.Month, userId); var amountperCategory = new List <double?>(); var chart = new Chart { Type = Enums.ChartType.Bar }; ChartJSCore.Models.Data data = new ChartJSCore.Models.Data(); data.Labels = new List <string>(); foreach (var item in toDisplay) { data.Labels.Add(item.Category.CategoryName); amountperCategory.Add(decimal.ToDouble(item.Amount)); } var dataset = new BarDataset { Label = "Expenses per Category", Data = amountperCategory, BackgroundColor = new List <ChartColor> { ChartColor.FromRgba(255, 99, 132, 1), }, }; data.Datasets = new List <Dataset> { dataset }; chart.Data = data; chart.Options = await GetOptions(); chart.Options.Layout = new Layout { Padding = new Padding { PaddingObject = new PaddingObject { Left = 10, Right = 12, Top = 10, Bottom = 10 } } }; return(chart); }
public void FromRgb_Populates_Correct_Values() { byte expectedRed = 66; byte expectedGreen = 99; byte expectedBlue = 111; var actualColor = ChartColor.FromRgb(expectedRed, expectedGreen, expectedBlue); Assert.AreEqual(expectedRed, actualColor.Red); Assert.AreEqual(expectedGreen, actualColor.Green); Assert.AreEqual(expectedBlue, actualColor.Blue); }
private Chart GeneratePieChart(List <Track> tracks) { Chart chart = new Chart { Type = Enums.ChartType.Pie, }; ChartJSCore.Models.Data data = new ChartJSCore.Models.Data { Labels = Enum.GetNames(typeof(JudgeStatus)) }; PieDataset dataset = new PieDataset { Label = "Summary", BackgroundColor = new List <ChartColor> { ChartColor.FromHexString("#28A745"), ChartColor.FromHexString("#FFC720"), ChartColor.FromHexString("#DC3545"), ChartColor.FromHexString("#1B6EC2"), ChartColor.FromHexString("#6C757D") }, HoverBackgroundColor = new List <ChartColor> { ChartColor.FromHexString("#28A745"), ChartColor.FromHexString("#FFC720"), ChartColor.FromHexString("#DC3545"), ChartColor.FromHexString("#1B6EC2"), ChartColor.FromHexString("#6C757D") }, Data = new List <double?> { tracks.LongCount(x => x.Status == JudgeStatus.Accept), tracks.LongCount(x => x.Status == JudgeStatus.WrongAnswer), tracks.LongCount(x => x.Status == JudgeStatus.CompileError), tracks.LongCount(x => x.Status == JudgeStatus.UnknownError), tracks.LongCount(x => x.Status == JudgeStatus.Pending) }, }; data.Datasets = new List <Dataset> { dataset }; chart.Data = data; return(chart); }
public void FromRgba_Populates_Correct_Values() { byte expectedRed = 187; byte expectedGreen = 55; byte expectedBlue = 4; double expectedAlpha = 0.65; var actualColor = ChartColor.FromRgba(expectedRed, expectedGreen, expectedBlue, expectedAlpha); Assert.AreEqual(expectedRed, actualColor.Red); Assert.AreEqual(expectedGreen, actualColor.Green); Assert.AreEqual(expectedBlue, actualColor.Blue); Assert.AreEqual(expectedAlpha, actualColor.Alpha); }
public void FromHexString_Populates_Correct_Values() { byte expectedRed = 154; byte expectedGreen = 89; byte expectedBlue = 77; double expectedAlpha = 1.0; var actualColor = ChartColor.FromHexString($"#{expectedRed:X}{expectedGreen:X}{expectedBlue:X}"); Assert.AreEqual(expectedRed, actualColor.Red); Assert.AreEqual(expectedGreen, actualColor.Green); Assert.AreEqual(expectedBlue, actualColor.Blue); Assert.AreEqual(expectedAlpha, actualColor.Alpha); }
static AppColors() { ChartDarkBlue = ChartColor.FromHtmlColorCode(DarkBlue); ChartLightGray = ChartColor.FromHtmlColorCode(LightGray); ChartRed = ChartColor.FromHtmlColorCode(Red); ChartBlue = ChartColor.FromHtmlColorCode(Blue); ChartGreen = ChartColor.FromHtmlColorCode(Green); ChartYellow = ChartColor.FromHtmlColorCode(Yellow); }
public void ToString_Returns_Correct_Rgba_String_Representation() { byte red = 4; byte green = 65; byte blue = 154; double alpha = 0.232; string expectedString = $"rgba({red}, {green}, {blue}, {alpha.ToString(CultureInfo.InvariantCulture)})"; var color = ChartColor.FromRgba(red, green, blue, alpha); var actualString = color.ToString(); Assert.AreEqual(expectedString, actualString); }
private static Chart GetWeekDailyWatchedChart(Dictionary <string, double> timePerWeekday) { var chart = new Chart { Type = Enums.ChartType.Bar }; var data = new ChartJSCore.Models.Data { Labels = timePerWeekday.Keys.ToList() }; var dataset = new BarDataset { Label = "# hours watched", Data = new List <double?>(timePerWeekday.Values.Select(x => (double?)x)), BorderWidth = new List <int> { 1 }, BackgroundColor = new List <ChartColor> { ChartColor.FromRgba(229, 9, 20, 0.8) }, Type = Enums.ChartType.Bar, }; data.Datasets = new List <Dataset> { dataset }; chart.Data = data; chart.Options = new Options { Responsive = true, MaintainAspectRatio = false, Title = new Title { Text = "Hours watched per weekday", Display = true }, ResponsiveAnimationDuration = 500, Scales = new Scales { YAxes = new List <Scale> { new CartesianScale { Ticks = new CartesianLinearTick { BeginAtZero = true } } } } }; return(chart); }
public static Chart BuildTemperatureAttributesBubbleChart1(List <TemperatureOrigin> temperatureOrigins) { Chart chart = new Chart(); chart.Type = Enums.ChartType.Bubble; var data = new Data(); List <Dataset> datasets = new List <Dataset>(); ChartColor[] colors = { Colors.GetRedBorder(), Colors.GetBlueBorder(), Colors.GetGreenBorder() }; int j = 0; for (int i = 0; i < temperatureOrigins.Count; i++) { var dataset = new BubbleDataset(); var bubbleDataList = new List <BubbleData>(); foreach (var temp in temperatureOrigins[i].TemperatureAtts) { TimeSpan t = (temp.Time - new DateTime(1970, 1, 1)); var bubbleData = new BubbleData { X = (int)t.TotalSeconds, Y = temp.Temp, R = 5 }; bubbleDataList.Add(bubbleData); } dataset.Data = bubbleDataList; dataset.BorderColor = new List <ChartColor> { colors[j++] }; dataset.BackgroundColor = new List <ChartColor> { ChartColor.FromRgba(255, 255, 255, 0.2) }; dataset.Label = temperatureOrigins[i].Origin; datasets.Add(dataset); } data.Datasets = datasets; FixTimeLabels(chart.Options); chart.Data = data; return(chart); }
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); }
private LineChartDataset <double> GetLoadTimeLineChartDataset() { return(new LineChartDataset <double> { Label = L["LoadTime"].Value, Data = MonitorWithDetails.LoadTimes, BackgroundColor = new List <string> { ChartColor.FromRgba(0, 218, 197, 0.2f) }, BorderColor = new List <string> { ChartColor.FromRgba(0, 218, 197, 1f) }, Fill = true, PointRadius = 2, BorderDash = new List <int> { } }); }
async Task RefreshUI(SourceHistory history) { var labels = history.HistoryData .Select(d => d.TimeStampUtc.LocalDateTime.ToString("d.M.")) .Reverse() .ToArray(); var dataSupplies = history.HistoryData .Select(d => { // Item 0 = supplies in kg (label "supplies") string value = d.DataItems[0].Value.ToString(); double.TryParse(value, out double supplies); return(supplies); }) .Reverse() .ToList(); var currentSupplies = $"Vorrat: {dataSupplies.Last():0.0}kg"; var dataSetPelletSupplies = new LineChartDataset <double> { Label = currentSupplies, Data = dataSupplies, BackgroundColor = new List <string> { ChartColor.FromRgba(226, 228, 242, 0.8f) }, BorderColor = new List <string> { ChartColor.FromRgba(95, 104, 188, 0.5f) }, Fill = true, PointRadius = 2, BorderDash = new List <int> { } }; await lineChart.Clear(); await lineChart.AddLabel(labels); await lineChart.AddDataSet(dataSetPelletSupplies); await lineChart.Update(); }
private static Chart GenerateBubbleChart() { var chart = new Chart { Type = Enums.ChartType.Bubble }; var data = new Data(); var dataset = new BubbleDataset { Label = "Bubble Dataset", Data = new List <BubbleData>() }; var bubbleData1 = new BubbleData(); var bubbleData2 = new BubbleData(); bubbleData1.X = 20; bubbleData1.Y = 30; bubbleData1.R = 15; dataset.Data.Add(bubbleData1); bubbleData2.X = 40; bubbleData2.Y = 10; bubbleData2.R = 10; dataset.Data.Add(bubbleData2); data.Datasets = new List <Dataset> { dataset }; dataset.BackgroundColor = new List <ChartColor> { ChartColor.FromRgb(255, 99, 132) }; dataset.HoverBackgroundColor = new List <ChartColor> { ChartColor.FromRgb(255, 99, 132) }; chart.Data = data; return(chart); }
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); }
private static Chart GeneratePieChart(List <Project> listOfProjects) { Chart chart = new Chart(); chart.Type = Enums.ChartType.Pie; Data data = new Data(); data.Labels = new List <string>() { "Red", "Blue", "Yellow" }; PieDataset dataset = new PieDataset() { Label = "My dataset", BackgroundColor = new List <ChartColor>() { ChartColor.FromHexString("#FF6384"), ChartColor.FromHexString("#36A2EB"), ChartColor.FromHexString("#FFCE56") }, HoverBackgroundColor = new List <ChartColor>() { ChartColor.FromHexString("#FF6384"), ChartColor.FromHexString("#36A2EB"), ChartColor.FromHexString("#FFCE56") }, Data = new List <double>() { 300, 50, 100 } }; data.Datasets = new List <Dataset>(); data.Datasets.Add(dataset); chart.Data = data; return(chart); }
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 static Chart GeneratePieChart() { var chart = new Chart { Type = Enums.ChartType.Pie }; var data = new Data { Labels = new List <string> { "Red", "Blue", "Yellow" } }; var dataset = new PieDataset { Label = "My dataset", BackgroundColor = new List <ChartColor> { ChartColor.FromHexString("#FF6384"), ChartColor.FromHexString("#36A2EB"), ChartColor.FromHexString("#FFCE56") }, HoverBackgroundColor = new List <ChartColor> { ChartColor.FromHexString("#FF6384"), ChartColor.FromHexString("#36A2EB"), ChartColor.FromHexString("#FFCE56") }, Data = new List <double> { 300, 50, 100 } }; data.Datasets = new List <Dataset> { dataset }; chart.Data = data; return(chart); }