public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var jObj = JObject.Load(reader); var type = jObj.Value <string>("Type") ?? jObj.Value <string>("type"); var dataset = default(IMixableDataset); switch (type) { case "bar": { dataset = new BarChartDataset(); break; } case "line": { dataset = new LineChartDataset(); break; } } serializer.Populate(jObj.CreateReader(), dataset); return(dataset); }
public ActionResult Index() { var chart = new ChartData <BarChartDataset>(); var dataset = new BarChartDataset(); dataset.Data.Add(5); dataset.Data.Add(3); dataset.Data.Add(4); dataset.Data.Add(7); dataset.BackgroundColor.Add(Color.Red); dataset.BackgroundColor.Add(Color.Green); dataset.BackgroundColor.Add(Color.Blue); dataset.BackgroundColor.Add(Color.Yellow); dataset.Label = "Kolory"; chart.Datasets.Add(dataset); chart.Labels.Add("Czerwony"); chart.Labels.Add("Zielony"); chart.Labels.Add("Niebieski"); chart.Labels.Add("Zolty"); var model = new IndexViewModel(); model.ChartData = SerializationHelpers.ToJson(chart); return(View(model)); }
public string getBarChart(int projectID) { myCommand.CommandText = "SELECT [Name], [Sum] FROM Users INNER JOIN " + "(SELECT User_ID, SUM(Work_estimation) AS [Sum] FROM Task_User INNER JOIN " + "(SELECT Task_ID, Work_estimation FROM Task INNER JOIN (SELECT Backlog_ID FROM Backlog WHERE Project_ID=@projectID AND Status='Ongoing') AS A " + "ON Task.Backlog_ID = A.Backlog_ID WHERE Task.Status='Done' OR Task.Status='Ongoing') " + "AS B ON Task_User.Task_ID = B.Task_ID GROUP BY User_ID) AS C ON C.User_ID = Users.User_ID"; addParameter <int>("@projectID", SqlDbType.Int, projectID); myAdapter.Fill(myDataSet, "temp"); var table = myDataSet.Tables["temp"]; myCommand.Parameters.Clear(); BarChart myBar = new BarChart(); var labels = myBar.labels; // Random color - not necessary can be removed. int colorIndex = new Random().Next(0, 6); BarChartDataset barDataset = new BarChartDataset(colorHex[1, colorIndex], colorHex[0, colorIndex]); barDataset.label = ""; // Name of the person and Work estimation foreach (DataRow temp in table.Rows) { labels.Add(temp["Name"].ToString()); barDataset.data.Add(Convert.ToInt32(temp[1])); } myBar.datasets.Add(barDataset); return(JsonConvert.SerializeObject(myBar)); }
public async Task RefreshChartData() { IEnumerable <DashboardChartData> newDatas = await GenerateChartDatas?.Invoke(); await Chart.Clear(); await Chart.AddLabels(newDatas.Select(x => x.Label).ToArray()); List <string> colors = new List <string>(); for (int i = 0; i < newDatas.Count(); i++) { string barColor = BarColorGenerator?.Invoke(i); if (!string.IsNullOrWhiteSpace(barColor)) { colors.Add(barColor); } else { colors.Add(DEFAULT_BAR_COLOR); } } BarChartDataset <BarChartDatasetXValue> newBarChartDataset = new BarChartDataset <BarChartDatasetXValue>() { Type = "horizontalBar", Data = newDatas.Select(x => new BarChartDatasetXValue() { X = x.Value, DataId = x.DataId }).ToList(), BackgroundColor = colors, BorderColor = colors, }; CurrentDataset = newBarChartDataset; await Chart.AddDatasetsAndUpdate(newBarChartDataset); }
public async Task GetBehandelduurDistributionAsync(BarChart <int> chart) { var age = await _dataService.GetBehandelduurDistributionAsync(); await chart.Clear(); var overleden = new BarChartDataset <int> { Label = Resources.Label_Overleden, BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartLightGray), Data = age.Overleden }; var ic = new BarChartDataset <int> { Label = Resources.Label_IC, BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartYellow), Data = age.NogOpgenomen }; var verpleegafdeling = new BarChartDataset <int> { Label = Resources.Label_Verpleegafdeling, BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartBlue), Data = age.ICVerlatenNogOpVerpleegafdeling }; var gezond = new BarChartDataset <int> { Label = Resources.Label_Gezond, BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartGreen), Data = age.ICVerlaten }; await chart.AddLabelsDatasetsAndUpdate(age.LabelsDagen.ToArray(), overleden, ic, verpleegafdeling, gezond); }