Me encontre con una muy buena explicación pero de esta me queda una duda y como era vieja la dejo por aca.
<script>
// Funcion dibujar rectangulo
function dibujarRectangulo(x, y, base, altura, color) {
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillStyle=color;//El color del rectangulo
pincel.fillRect(x,y, base, altura);//El tamaño del rectangulo de la barra
pincel.strokeStyle="black";//El color del Borde
pincel.strokeRect(x,y, base, altura);//El tamaño del borde del rectangulo
}
function escribirTexto(x , y, texto) {
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.font="15px Georgia"; //LA fuente del texto
pincel.fillStyle="black"; //El color del texto
pincel.fillText(texto, x, y); //El texto que aparecera
}
function dibujarBarra(x, y, serie, colores, texto) {
//Aqui la funcion escribirTexto es llamada y aparece arriba por 10px del rectangulo
escribirTexto(x, y - 10, texto);
// La variable acumula la altura, entre mas numeros tengas en el arreglo este crecera mas
var sumaAltura = 0;
// El for nos va a leer las matrizes de serie 2009 y 2019
// Nos dice que empezara a leer desde 0 hasta que llegue al tope de la matriz
for(var i = 0; i < serie.length; i ++){
// mientras mas numeros metamos a la matriz, mas grande es la altura
var altura = serie[i];
// Se dibujara un rectangulo con nuestra funcion dibujarRectangulo
// la x nos dice desde donde empieza de izquierda a derecha
// la y nos dice que empieza desde arriba a abajo
// el 50 es la base (osea el ancho de la barra)
// la altura es la matriz de numeros que tenemos
// los colores estan en dados en la matriz de colores, podemos agregar mas
dibujarRectangulo(x,y + sumaAltura, 50, altura, colores[i]);
sumaAltura = sumaAltura + altura;
}
}
// LAs variables a usarse de colores, la matriz de serie2009 y 2019
var colores = ["blue","green","yellow", "red","gray", "orange"];
var serie2009 = [6, 47, 41, 3, 3];
var serie2019 = [81, 9, 3, 3, 4];
// pondremos una mas
var serie2022 = [40, 30, 10, 20];
// Dibujaremos las barras
dibujarBarra(50, 50, serie2009, colores, "2009");
dibujarBarra(150, 50, serie2019, colores, "2019");
// Dibujaremos una barra mas
dibujarBarra(250, 50, serie2022, colores, "2022");
</script>
Mi duda es la siguiente? function dibujarBarra(x, y, serie, colores, texto) { //Aqui la funcion escribirTexto es llamada y aparece arriba por 10px del rectangulo ¿ De donde sale el -10 se entiende? ¿Donde saco ese valor? espero ser claro. Saludos
escribirTexto(x, y - 10, texto); // seria este -10?