CSPromex
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceBuscarÚltimas imágenesChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
» Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)
Graficos: Grafica circular I_icon_minitimeSáb Sep 30, 2023 6:24 pm por EurekaMartin

» Graficos: Grafica circular
Graficos: Grafica circular I_icon_minitimeMar Mar 05, 2019 4:58 pm por Luis Garcia

» Calendario hecho Manualmente
Graficos: Grafica circular I_icon_minitimeMar Mar 05, 2019 3:52 pm por Luis Garcia

» Activar el protector de pantalla.
Graficos: Grafica circular I_icon_minitimeMar Mar 05, 2019 3:12 pm por Luis Garcia

» Hacer backup de MySql desde C#
Graficos: Grafica circular I_icon_minitimeMar Abr 18, 2017 10:04 pm por maurifl

» Sockets programa para Ciber Cafe (Cliente-Servidor)
Graficos: Grafica circular I_icon_minitimeLun Ago 10, 2015 5:45 pm por artes

» Ayuda crear emoticones en un chat
Graficos: Grafica circular I_icon_minitimeDom Jul 12, 2015 9:00 pm por yeco96

» Necesito ayuda para pasar datos a un Datagridview
Graficos: Grafica circular I_icon_minitimeDom Jun 07, 2015 4:33 pm por rafaelfa

» Reproductor de música->Lista de reproducción (Guardar-Cargar)
Graficos: Grafica circular I_icon_minitimeLun Jun 01, 2015 3:00 pm por kevin22

Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

 

 Graficos: Grafica circular

Ir abajo 
2 participantes
AutorMensaje
Luis Garcia
STAFF TEAM
STAFF TEAM
Luis Garcia


Mensajes : 64
Puntos : 112

Graficos: Grafica circular Empty
MensajeTema: Graficos: Grafica circular   Graficos: Grafica circular I_icon_minitimeLun Abr 25, 2011 12:54 pm

Representación de una gráfica circular mediante gráficos en c#.

[Tienes que estar registrado y conectado para ver esa imagen]

En un proyecto windows forms agregamos el "using":
Código:

using System.Drawing;
Utilizado para el "dibujo" o graficacion de figuras.

Necesitaremos agregar algunos controles al formulario:
-Un textbox para insertar valores.
-Un control panel sobre el cual dibujaremos la figura.
-Dos listBox, uno para visualizar los datos y el otro para visualizar los porcentajes de dichos datos.
-Tres botones: para agregar el dato, para borrar los datos y un tercero para graficar.

Dentro de la clase crearemos un vector de brochas para su posterior uso
Código:

Brush[] brochas = new Brush[] { Brushes.Red, Brushes.Blue, Brushes.Green, Brushes.Aqua, Brushes.Black, Brushes.LavenderBlush, Brushes.LightPink, Brushes.Orange, Brushes.Purple, Brushes.Yellow };

También necesitaremos algunas variables para su posterior uso, ya que se utilizará en un botón, de esta manera solo declaramos el dato una vez.

Código:

float totales = 0;
float anguloFinal = 0;
float anguloInicio = 0;
byte pincel = 0;

Con 10 brochas será suficiente para el ejemplo sin embargo se pueden utilizar más para no tener colores repetidos en la gráfica de barras.

En el evento click del boton "Agregar Dato":
Código:

    if (txtDato.Text != "")//Validación para que no halla valores nulos
            {
                lbDatos.Items.Add(txtDato.Text);
                txtDato.Text = "";
                txtDato.Focus();
            }

En el evento click del boton "Borrar datos":
Código:

lbDatos.Items.Clear();
lbPorcentaje.Items.Clear();

Como una validación extra, no permitiremos ingresar datos diferentes a números (backspace no funciona).

En el evento keyPress del TextBox validamos que no sea posible insertar caracteres que no sean te tipo numerico.
Código:

if (!char.IsNumber(e.KeyChar))
            {
                e.Handled = true;
            }


En el evento click del boton "graficar":
Código:

 Graphics grafico = pnGrafica.CreateGraphics();
//Creamos gráfico a partir de un panel (nuestro lienzo)

grafico.Clear(Color.White);
/* Se limpia el panel de color blanco */
lbPorcentaje.Items.Clear();
/* Se limpia las lista de "porcentaje"
  for (int i = 0; i < lbDatos.Items.Count; i++)

 totales += float.Parse(lbDatos.Items[i].ToString());
 }//Se calcula la suma de los datos
           
System.Drawing.Font Fuente = new System.Drawing.Font("Courier New", 10, FontStyle.Bold);//Fuente

 for (int j = 0; j < lbDatos.Items.Count; j++)
/* Por cada dato en la lista */
            {
anguloFinal = (float.Parse( lbDatos.Items[j].ToString()) / totales) * 360;
/* Calculamos a cuanto equivale el primer dato en un circulo que es 360 grados */

lbPorcentaje.Items.Add((float.Parse(lbDatos.Items[j].ToString()) / totales) * 100);
grafico.FillPie(brochas[pincel],pnGrafica.ClientRectangle, anguloInicio,anguloFinal);
                anguloInicio += anguloFinal;
                if(pincel==9){ pincel=0;}
                pincel++;
/* Angulo inicial es el angulo donde inicia el pastel y angulo final donde termina, claro que en caso de más datos el angulo inicial irá en aumento es decir mediante el porcentaje.*/
            }
        anguloInicio = 0;
        anguloFinal = 0;
        totales = 0;
        pincel = 0;//se limpian las variables

Descargar:[url][Tienes que estar registrado y conectado para ver este vínculo] circular.zip
[/url]
Volver arriba Ir abajo
ramosjose
Novato
ramosjose


Mensajes : 1
Puntos : 1

Graficos: Grafica circular Empty
MensajeTema: Re: Graficos: Grafica circular   Graficos: Grafica circular I_icon_minitimeDom Ago 11, 2013 2:12 pm

exelente solo k dejalo sin errores si kitale esas cosas de comentarios jajajaja le bajarias la moral a alguien k no sabe de programacion jeje
Volver arriba Ir abajo
Luis Garcia
STAFF TEAM
STAFF TEAM
Luis Garcia


Mensajes : 64
Puntos : 112

Graficos: Grafica circular Empty
MensajeTema: Re: Graficos: Grafica circular   Graficos: Grafica circular I_icon_minitimeMar Mar 05, 2019 4:58 pm

LOL
Volver arriba Ir abajo
Contenido patrocinado





Graficos: Grafica circular Empty
MensajeTema: Re: Graficos: Grafica circular   Graficos: Grafica circular I_icon_minitime

Volver arriba Ir abajo
 
Graficos: Grafica circular
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Bloqueo de Interfaz Grafica

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Código abierto-
Cambiar a: