Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created January 4, 2021 20:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/1c830c481854a2ebc20368e2563ee4e1 to your computer and use it in GitHub Desktop.
Save parzibyte/1c830c481854a2ebc20368e2563ee4e1 to your computer and use it in GitHub Desktop.
/*
Encierro todo en una función asíncrona para poder usar async y await cómodamente
https://parzibyte.me/blog
*/
(async () => {
// Llamar a nuestra API. Puedes usar cualquier librería para la llamada, yo uso fetch, que viene nativamente en JS
const respuestaRaw = await fetch("./obtener_datos_ajax.php");
// Decodificar como JSON
const respuesta = await respuestaRaw.json();
// Ahora ya tenemos las etiquetas y datos dentro de "respuesta"
// Obtener una referencia al elemento canvas del DOM
const $grafica = document.querySelector("#grafica");
const etiquetas = respuesta.etiquetas; // <- Aquí estamos pasando el valor traído usando AJAX
// Podemos tener varios conjuntos de datos. Comencemos con uno
const datosVentas2020 = {
label: "Ventas por mes",
// Pasar los datos igualmente desde PHP
data: respuesta.datos, // <- Aquí estamos pasando el valor traído usando AJAX
backgroundColor: 'rgba(54, 162, 235, 0.2)', // Color de fondo
borderColor: 'rgba(54, 162, 235, 1)', // Color del borde
borderWidth: 1, // Ancho del borde
};
new Chart($grafica, {
type: 'line', // Tipo de gráfica
data: {
labels: etiquetas,
datasets: [
datosVentas2020,
// Aquí más datos...
]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}],
},
}
});
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment