Existen multitud de formas de representar en la web colecciones de datos visualizándolos como gráficas o como tablas.
En este post quiero exponer una sencilla forma de hacerlo, utilizando varias librerías de javascript, datatables
( pluging para la librería JQuery) para representar las tablas y la librería chart.js
para las gráficas.
La forma más adecuada para almacenar los datos a representar en todas ellas es usar bases de datos por todas las ventajas y posibilidades que nos proporcionarían. Pero como sólo necesito representar varios centenares de datos que no van a ser modificados una vez escritos y realmente no tienen mayor valor que el sentimental, los voy a almacenar en un archivo txt
para la tabla y en sencillos arrays
dentro del código javascript para las gráficas. Esto me facilita su publicación web no teniendo que recurrir a lenguajes de backend ni BBDD
.
Para poder utilizar las librerías una de las formas es importarlas dentro de mi proyecto.
Importo la siguiente librería para representar las gráficas usando Chart.js
:
|
|
Y para la tabla con datatables
importo estas otras.
|
|
Además para formatear la tabla con CSS debo importar otras librerías.
|
|
Con todo esto el archivo index.html
de mi proyecto se vería así.
index.html
|
|
En el código html
anterior he añadido una etiqueta canvas
con id="grafica_lineas"
donde dibujaré una gráfica multilinea que represente por ejemplo el numero de inmersiones que realice un buceador cada año a una determinada profundidad.
Para poder dibujarla utilizo el siguiente código javascript.
graficas.js
|
|
El script anterior lo importo al archivo index.html
del proyecto incluyendo la siguiente línea.
|
|
Si quiero añadir más gráficas a mi proyecto debo de crear nuevas etiquetas canvas
en donde dibujarlas. Cada una de ellas identificada por su id
único al que vincularé una gráfica.
|
|
Añado el código javascript para las otras dos gráficas al archivo graficas.js
.
graficas.js
|
|
Con esto ya tengo representadas las gráficas. Lo siguiente que quiero es crear un tabla que por ejemplo muestre el detalle de cada una de las inmersiones de dicho buceador.
Para ello añado el código html que representará la tabla a mi archivo index.html
del proyecto.
|
|
Utilizo el siguiente scritp que llama a la librería Datatable
para construir la tabla.
tabla.js
|
|
Este a su vez llama al archivo buceo.txt
donde he almacenado en un array los datos de cada inmersión.
buceo.txt
|
|
El archivo index.html
que representa a las tres gráficas y la tabla quedaría así:
index.html
|
|
Con esto es suficiente para representar las tres gráficas y la tabla de inmersiones. Ya solo queda ponerlo un poco mas bonito con un poco de html y css, pero eso sería contenido para otro árticulo. Se pude ver el resultado aquí, y el código del proyecto aquí.
Fuentes
Voy a instalar un bloqueador de anuncios para que todos los equipos que se conecten a mi intranet se puedan beneficiar de navegar por Internet sin la gran mayoría de anuncios, además de poder moderar los contenidos a los que acceden los niños.
Github y GitLab son servicios web que permiten alojar el código de proyectos utilizando el software de control de versiones Git.
Pequeño tutorial para la instalación de KMV en Mx-linux.