none
Windows Forms y Gráficas RRS feed

  • Pregunta

  • Cómo generar un gráfico de tarta (chart pie) en una aplicación Windows Forms, o de Consola, o un Servicio Windows?

    Sin utilizar suite de controles de pago.
    jueves, 19 de noviembre de 2020 6:10

Todas las respuestas

  • En un WIndows Form puedes dibujar tu gráfico usando las funciones de System.Drawing. Para una simple tarta es relativamente sencillo, pero se puede complicar mucho si necesitas hacer un gráfico más complejo, porque tienes que dibujar paso a paso todas y cada una de las líneas y áreas que haya en el gráfico.

    El primer paso es añadir al Form un contenedor para albergar el gráfico. Puedes usar, por ejemplo, un PictureBox.

    A continuación, añades un manejador para el evento Paint del PictureBox.

    Dentro de ese evento, te va a llegar un parámetro "e" que contiene una propiedad "e.Graphics" que es la que vas a usar para dibujar el gráfico.

    Ahí vas a aplicar primitivas gráficas tales como e.Grafics.DrawLine(...), e.Graphics.DrawArc(...), e.Graphics.DrawEllipse(...), etc. Mediante una juiciosa aplicación de estas primitivas y unos pocos cálculos matemáticos podrás dibujar tu gráfico. Por ejemplo, en el caso de una tarta, usarías DrawPie. Lo llamarías repetidamente en un bucle para dibujar todos los sectores de la tarta, llevando en una variable el cálculo del ángulo para darle a cada sector el tamaño que le corresponda.

    jueves, 19 de noviembre de 2020 9:33
    Moderador
  • En Javascript había librerías gratuitas para generar gráficas (D3, Chart.js, HighCharts,Google Chart).

    Para Windows Forms existe alguna que facilite el uso de System.Drawing?

    También con la idea de generar a disco un fichero de imagen (png, jpeg, ...)


    jueves, 19 de noviembre de 2020 13:14
  • Hola Miriam Pasion, 

      

    Puedes ver este ejemplo Create-Pie-Chart-in-Windows-Forms-Application-using-C-and-VBNet

    Gracias por usar los foros de MSDN.  

    Andres Aguilar 

    ____________________________  

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    jueves, 19 de noviembre de 2020 17:23
    Moderador
  • Hola Miriam Pasion, 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero su respuesta.  

    Gracias por usar los foros de MSDN.  

    Andres Aguilar 

    ____________________________  

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    jueves, 26 de noviembre de 2020 15:11
    Moderador

  • Qué tal Live Charts? Experiencias?
    https://lvcharts.net/
    domingo, 13 de junio de 2021 10:31