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 de barras I_icon_minitimeSáb Sep 30, 2023 6:24 pm por EurekaMartin

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

» Calendario hecho Manualmente
Graficos_Grafica de barras I_icon_minitimeMar Mar 05, 2019 3:52 pm por Luis Garcia

» Activar el protector de pantalla.
Graficos_Grafica de barras I_icon_minitimeMar Mar 05, 2019 3:12 pm por Luis Garcia

» Hacer backup de MySql desde C#
Graficos_Grafica de barras I_icon_minitimeMar Abr 18, 2017 10:04 pm por maurifl

» Sockets programa para Ciber Cafe (Cliente-Servidor)
Graficos_Grafica de barras I_icon_minitimeLun Ago 10, 2015 5:45 pm por artes

» Ayuda crear emoticones en un chat
Graficos_Grafica de barras I_icon_minitimeDom Jul 12, 2015 9:00 pm por yeco96

» Necesito ayuda para pasar datos a un Datagridview
Graficos_Grafica de barras I_icon_minitimeDom Jun 07, 2015 4:33 pm por rafaelfa

» Reproductor de música->Lista de reproducción (Guardar-Cargar)
Graficos_Grafica de barras 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 de barras

Ir abajo 
AutorMensaje
Luis Garcia
STAFF TEAM
STAFF TEAM
Luis Garcia


Mensajes : 64
Puntos : 112

Graficos_Grafica de barras Empty
MensajeTema: Graficos_Grafica de barras   Graficos_Grafica de barras I_icon_minitimeLun 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
 
Graficos_Grafica de barras
Volver arriba 
Página 1 de 1.

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