Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

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

Comparte | 
 

 Graficos_Grafica de barras

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Luis Garcia
STAFF TEAM
STAFF TEAM


Mensajes : 61
Puntos : 109

MensajeTema: Graficos_Grafica de barras   Lun Abr 25, 2011 4:38 pm

Utilizando gráficos realizaremos un ejemplo de gráficas de barras.
[Tienes que estar registrado y conectado para ver esa imagen]

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

using System.Drawing;

Agregamos un vector de brochas dentro de la clase principal, este vector lo utilizaremos luego para tener colores distintos en nuestra grafica de barras:
Código:

        Brush[] brochas = new Brush[] {
            Brushes.Red,
            Brushes.Blue,
            Brushes.Orange,
            Brushes.Aqua,
            Brushes.Black,
            Brushes.SkyBlue,
            Brushes.Pink,
            Brushes.Purple,
            Brushes.Yellow };
       

Necesitaremos algunos controles para nuestro formulario, por lo tanto agregamos:
-Un TextBox para insertar datos.
-Dos ListBox, uno para los datos y un segundo para el porcentaje que representa dicho dato en la gráfica.
-Un control Panel que utilizaremos para dibujar sobre el, como si fuese un lienzo.
-Tres botones, uno para agregar los datos, el segundo para borrar las listas de datos y porcentajes y el tercero para graficar los datos.

Antes que nada realizamos una pequeña validación para no permitir datos que no sean cantidades, en el evento keypress del textbox:
Código:

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

En el evento click del boton para agregar datos:
Código:

if (txtDato.Text != "")//No se permiten datos vacios
            {
                lbDatos.Items.Add(txtDato.Text);
                txtDato.Text = "";
            }

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

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

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

Graphics grafico = pnGrafica.CreateGraphics();//Creamos grafico
 grafico.Clear(Color.White);

            float total = 0;
            float altura_grafica = 0;
            float altura = 0;
            float posx = 0;
            byte contador = 0;

            for (int j = 0; j < lbDatos.Items.Count; j++)
            {
                total += float.Parse(lbDatos.Items[j].ToString());
/* Suma total para el calculo de porcentajes */
            }

            lbPorcentaje.Items.Clear();
            StringFormat strFormat = new StringFormat();//Formato de texto
            strFormat.FormatFlags = StringFormatFlags.DirectionVertical;
//Formato vertical de texto
           
        for (int i = 0; i < lbDatos.Items.Count; i++)
          {
      altura = float.Parse(lbDatos.Items[i].ToString()) / total * pnGrafica.Height;
//Altura es la cantidad total de altura que debe tener la barra en relacion al dato
               
altura_grafica = pnGrafica.Height -altura ;
/* Posición de la esquina superior izquierda de las barras */
               
grafico.FillRectangle(brochas[contador],posx, altura_grafica,pnGrafica.Width/lbDatos.Items.Count, altura);
/* Dibujo de rectangulo */
               
lbPorcentaje.Items.Add(float.Parse(lbDatos.Items[i].ToString()) / total * 100);

grafico.DrawString(lbDatos.Items[i].ToString(), new System.Drawing.Font("Courier New", 12, FontStyle.Bold), Brushes.White, posx, pnGrafica.Height - 40, strFormat);

 if (contador > 7) { contador = 0; }//contador es para seleccionar el color
                else
                {
                    contador++;
                }
                posx += pnGrafica.Width / lbDatos.Items.Count;
            }
        }

Descargar: [url][Tienes que estar registrado y conectado para ver este vínculo] de barras.zip[/url]
Volver arriba Ir abajo
Ver perfil de usuario
 
Graficos_Grafica de barras
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [RESUELTO]Barras de rangos para mi foro...
» Creacion de barras de respeto para mi foro
» Barras de Respeto: axtrix
» Barras Separación - ale-kun
» Hay Imagenes de distintas barras de respeto

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