public void InitializePieChart() { var series = new DonutSeries(); var configConnectionString = ConfigurationManager.ConnectionStrings["mongodb"].ConnectionString; var client = new MongoClient(configConnectionString); var database = client.GetDatabase("projectdb"); var projectCollection = database.GetCollection <Project>("projectdbcollection"); var projectCollectionQueryable = projectCollection.AsQueryable(); var projectCollectionList = projectCollectionQueryable.ToList(); if (projectCollectionList.First().Categories != null) { foreach (var category in projectCollectionList.First().Categories) { if (category.Amount > 0) { series.DataPoints.Add( new PieDataPoint(Convert.ToDouble(category.Amount), category.CategoryName)); } } } radChartViewCategories.Series.Add(series); radChartViewCategories.Area.View.Palette = KnownPalette.Arctic; }
private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt, string titulo) { try { switch (ucFiltroFechasGrafico.TipoPeriodo) { case 1: lblPieGeneral.Text = string.Format("Diario: {0} - {1}", ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; case 2: lblPieGeneral.Text = string.Format("Semanal: {0} - {1}", ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; case 3: lblPieGeneral.Text = string.Format("Mensual: {0} - {1}", ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToString("MMM"), ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToString("MMM")); break; case 4: lblPieGeneral.Text = string.Format("Anual: {0} - {1}", ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; } grafico.PlotArea.Series.Clear(); grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom; DonutSeries pieSerie = new DonutSeries(); pieSerie.Appearance.Overlay.Gradient = Gradients.None; pieSerie.DataFieldY = "Total"; pieSerie.NameField = "Descripcion"; pieSerie.ColorField = "Color"; pieSerie.LabelsAppearance.Visible = true; pieSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center; grafico.Legend.Appearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.Legend.Appearance.TextStyle.FontSize = 10; grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize = 10; grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontSize = 10; grafico.PlotArea.Series.Add(pieSerie); grafico.DataSource = dt; grafico.DataBind(); } catch (Exception ex) { throw new Exception("Error al generar pie: " + ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { try { Sesion Sesion = new Sesion(); Sesion = (Sesion)Session["Sesion" + Session.SessionID]; List <CobSaldosNiveles> Lista = new List <CobSaldosNiveles>(); PieSeriesItem si; CN_ClientesMayorAdeudo.RegresaCuentasPorPagadas(Sesion.Fecha_Cierre, Sesion.Dias_Revision, Sesion.Id_Cte, Sesion.Emp_Cnx, ref Lista); int i = 1; float carteratotal = 0, varporcentaje = 0; DonutSeries ds = new DonutSeries(); foreach (CobSaldosNiveles saldo in Lista) { carteratotal = carteratotal + saldo.Restante; } foreach (CobSaldosNiveles saldo in Lista) { datos = saldo; varporcentaje = (saldo.Restante * 100) / carteratotal; si = new PieSeriesItem(Math.Round((decimal)saldo.Restante, 3), Regresacolor(saldo.Cdi), (saldo.Cdi + " - " + saldo.Cd_Nombre) + ' ' + Math.Round(varporcentaje, 1).ToString() + " %"); ds.SeriesItems.Add(si); i++; } Random randObj = new Random(DateTime.Now.Millisecond); HF_Cve.Value = randObj.Next().ToString(); RcGrafica.ChartTitle.Text = Sesion.Cte_Nombre + " Pendiente por cobrar " + carteratotal.ToString("C2"); ds.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Column; ds.LabelsAppearance.DataFormatString = "{0:N2}"; ds.TooltipsAppearance.Visible = true; ds.TooltipsAppearance.DataFormatString = "{0}"; RcGrafica.PlotArea.Series.Add(ds); RcGrafica.DataBind(); } catch (Exception ex) { throw ex; } }
private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt) { grafico.PlotArea.Series.Clear(); grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom; DonutSeries donutSerie = new DonutSeries(); donutSerie.DataFieldY = "Total"; donutSerie.ColorField = "Color"; donutSerie.NameField = "Descripcion"; donutSerie.LabelsAppearance.Visible = true; donutSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center; grafico.PlotArea.Series.Add(donutSerie); grafico.DataSource = dt; grafico.DataBind(); }
private static void DonutSerie(RadHtmlChart grafico, string explodeField, string dataField, string nameField, string colorField, string dataFormatTooltip) { try { DonutSeries donutSerie = new DonutSeries(); donutSerie.Appearance.Overlay.Gradient = GradientsSerie; donutSerie.ExplodeField = explodeField; donutSerie.DataFieldY = dataField; donutSerie.NameField = nameField; donutSerie.ColorField = colorField; donutSerie.LabelsAppearance.Visible = true; donutSerie.LabelsAppearance.Position = DonutLabelsPosition; grafico.PlotArea.Series.Add(donutSerie); } catch (Exception ex) { throw new Exception(ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { double PorPagar = 0, varPorPagar = 0, Pagado = 0, varPagado = 0; try { Sesion Sesion = new Sesion(); Sesion = (Sesion)Session["Sesion" + Session.SessionID]; Sesion.Id_Cte = int.Parse(Request.QueryString["Id_Cte"]); Sesion.Cte_Nombre = Request.QueryString["Cte_Nombre"]; CN_ClientesMayorAdeudo.RegresaAdeudoCliente(Sesion.Fecha_Cierre, Sesion.Fecha_Corte, Sesion.Dias_Revision, Sesion.Id_Cte, Sesion.Emp_Cnx, ref PorPagar, ref Pagado); double total = PorPagar + Pagado; varPorPagar = (PorPagar * 100) / total; varPagado = (Pagado * 100) / total; PieSeriesItem s1 = new PieSeriesItem(Math.Round((decimal)PorPagar, 3), System.Drawing.Color.Red, "Por Cobrar " + Math.Round(varPorPagar, 1).ToString() + "%", false); PieSeriesItem s2 = new PieSeriesItem(Math.Round((decimal)Pagado, 3), System.Drawing.Color.Green, "Cobrado " + Math.Round(varPagado, 1).ToString() + "%", true); DonutSeries ds = new DonutSeries(); ds.SeriesItems.Add(s1); ds.SeriesItems.Add(s2); ds.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Circle; RcGrafica.ChartTitle.Text = Sesion.Cte_Nombre + " " + total.ToString("C2"); ds.LabelsAppearance.DataFormatString = "{0:N2}"; ds.TooltipsAppearance.Visible = true; ds.TooltipsAppearance.DataFormatString = "{0:N2}"; RcGrafica.PlotArea.Series.Add(ds); RcGrafica.DataBind(); } catch (Exception ex) { throw ex; } }
private DonutSeries PopulateDonutSeries() { var students = universityLocalContext.Students; int networkingStudensCount = 0; int electronicsStudentsCount = 0; int computerScienceStudentsCount = 0; foreach (var student in students) { if (student.Specialty.Equals("Networking")) { networkingStudensCount++; } else if (student.Specialty.Equals("Computer Science")) { computerScienceStudentsCount++; } else if (student.Specialty.Equals("Electronics")) { electronicsStudentsCount++; } } var pieSeries = new DonutSeries(); pieSeries.ShowLabels = true; pieSeries.LabelFormat = "{0:P2}"; pieSeries.RadiusFactor = 0.9f; pieSeries.Range = new AngleRange(270, 360); pieSeries.DataPoints.Add(new PieDataPoint(networkingStudensCount, "Networking")); pieSeries.DataPoints.Add(new PieDataPoint(computerScienceStudentsCount, "Computer Science")); pieSeries.DataPoints.Add(new PieDataPoint(electronicsStudentsCount, "Electronics")); return(pieSeries); }
private void GeneraGraficaStackedPie(RadHtmlChart grafico, DataTable dt) { try { grafico.ChartTitle.Appearance.Visible = false; switch (ucFiltrosTicketUbicacion.TipoPeriodo) { case 1: lblPieGeneral.Text = string.Format("Diario: {0} - {1}", ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; case 2: lblPieGeneral.Text = string.Format("Semanal: {0} - {1}", ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; case 3: lblPieGeneral.Text = string.Format("Mensual: {0} - {1}", ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToString("MMM"), ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToString("MMM")); break; case 4: lblPieGeneral.Text = string.Format("Anual: {0} - {1}", ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(), ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString()); break; } grafico.PlotArea.Series.Clear(); List <ParetoArry> lstPareto = null; if (dt != null) { lstPareto = (dt.Rows.Cast <DataRow>().Select(dataRow => new ParetoArry { Id = int.Parse(dataRow[0].ToString()), Descripcion = dataRow[1].ToString(), Color = dataRow[2].ToString() })).ToList(); for (int row = 0; row < dt.Rows.Count; row++) { decimal total = 0; for (int i = 3; i < dt.Columns.Count; i++) { total += decimal.Parse(dt.Rows[row][i].ToString()); } lstPareto.Single(s => s.Id == int.Parse(dt.Rows[row][0].ToString())).Total = total; } lstPareto = lstPareto.OrderByDescending(o => o.Total).ToList(); DonutSeries donutSerie = new DonutSeries(); donutSerie.Appearance.Overlay.Gradient = Gradients.None; donutSerie.ExplodeField = "false"; donutSerie.DataFieldY = "Total"; donutSerie.NameField = "Descripcion"; donutSerie.ColorField = "Color"; donutSerie.LabelsAppearance.Visible = true; donutSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center; grafico.Legend.Appearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.Legend.Appearance.TextStyle.FontSize = 10; grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize = 10; grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"]; grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontSize = 10; grafico.PlotArea.Series.Add(donutSerie); } //} grafico.DataSource = lstPareto; grafico.DataBind(); } catch (Exception ex) { throw new Exception(ex.Message); } }