-
-
Save parzibyte/1c830c481854a2ebc20368e2563ee4e1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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