Mi propia libería gráfica con PHP y GD


Recientemente estuve trabajando en el desarrollo de un sistema que requería gráficas de barras en los reportes. Fue un poco complicado mezclar las imágenes dinámicas con los PDFs generados con TCPDF. Tuvimos que recurrir a una especie de HACK para conseguir el objetivo. Después de acoplar la imagen, surgió el problema de que la gráfica no cumplía con las exigencias. Entre otras cosas, no permitía definir el intervalo de los valores del eje Y. Gran problema porque yo necesitaba que todos los valores del eje Y fueran enteros, y en todas me salían con decimales. También tenía problemas con las leyendas. En fin, probé muchísimos recursos por internet, pero ninguno estaba completo.

Revisé los códigos para refrescar un poco en mi mente las instrucciones de GD que hace mucho no utilizaba, y empecé a trabajar en mi propia clase. De momento solo trabaja con gráficos de barras, y es muy sencilla de implementar. Permite lo necesario: agregar los nombres y los valores de las categorías, el alto y el ancho del gráfico, el rango de valores del eje Y, y el intervalo en que se incrementarán esos valores. Si no se asigna el rango de valores del eje Y, la clase calcula los valores necesarios. La parte funcional ya está lista, ahora me toca mejorar el gráfico, y luego de hacerle varias pruebas completas compartirlo con la comunidad.

Dejo un captura para que vean como está quedando el trabajo. El aspecto gráfico todavía requiere más dedicación, pero considerando que solo me tomó algunas horas crear la clase, me parece aceptable. Hagan click en las imágenes para verlas en tamaño y colores reales.

Código necesario para generar el gráfico

Solo pocas líneas de código crean este gráfico

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s