De formas vectoriales básicas a un gráfico de barras animado con easing y tooltips, sin librerías
Ejercicio de Informática Gráfica sobre gráficos vectoriales, en trece pasos que van desde dibujar un círculo en SVG hasta un gráfico de barras animado e interactivo.
El recorrido intermedio construye las formas a mano — círculo, rectángulo, estrella, un comecocos — y después pasa a lo importante: embeber el SVG en el documento y manipularlo desde JavaScript, cambiando colores y atributos de los elementos vectoriales en caliente.
La versión final es un gráfico de barras completo: carga los datos, calcula la
escala del eje con una función niceMax(), anima la entrada de cada
barra con easeOutCubic sobre requestAnimationFrame, y
muestra tooltips al pasar el cursor. Todo sin D3 ni ninguna otra librería.
loadData() — carga los datos que alimentan el
gráfico.niceMax() — calcula un máximo "redondo" para el
eje, en lugar de usar el valor máximo crudo. Es lo que hace que la escala se lea
bien.renderChart() — genera los elementos SVG de las
barras y los ejes.animateBar() y
frame() — animación de entrada barra a barra sobre
requestAnimationFrame.easeOutCubic() — función de suavizado: la barra
entra rápido y frena al final, en lugar de crecer a velocidad constante.showTooltip() y
hideTooltip() — información al pasar el cursor sobre
cada barra.formatValue(),
clamp() y fade() —
utilidades de formato y transición.niceMax() es la diferencia entre un
gráfico legible y uno con el eje en 8.437.easeOutCubic se siente
natural.Autor del ejercicio. Práctica individual de la asignatura de Informática Gráfica.
Ejercicio académico completado, con los trece pasos en el repositorio de apuntes.
Ruta dentro del repositorio: Apuntes/013-Informatica
grafica/002-Vectores/