Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Grafico de barras

<meta charset="UTF-8">

<canvas width="600" height="400"></canvas>

<script>

    /*Funcion que sirve para dibujar rectangulos*/
    function dibujarRectangulo(x, y, base, altura, color){

        //Asigamos en esta variable la etiqueta canvas para posteriormente acceder asus propiedades
        var lienzo = document.querySelector("canvas");
        //Aquí obtenemos el contexto (entorno) de nuestro canvas para poder dibujar en el 
        var pincel = lienzo.getContext("2d");
        //Asignamos el color de cada rectandulo
        pincel.fillStyle = color;
        //dibujamos el rectangulo con los parametros obtenidos de la función
        pincel.fillRect(x,y,base,altura);
        //Se le asigna el color del borde de nuestro rectangulo
        pincel.strokeStyle="black";
        //Pintamos los bordes sobre nuestro rectangulo
        pincel.strokeRect(x,y,base,altura);

    }
    /*Funcion que sirve para hacer textos*/
    function escribirTexto(x, y, texto){

        var lienzo = document.querySelector("canvas");
        var pincel = lienzo.getContext("2d");

        //Se le asigna el tamaño y el tipo de letra de nuestro texto
        pincel.font = "15px Georgia";
        //Se le asigna el color de la letra de nuestro texto
        pincel.fillStyle = "black";
        //Se le asigna la posición de nuestro texto (ubicación)
        pincel.fillText(texto,x,y);

    }

    var agno2009 = [6, 47, 41, 3, 3];
    var agno2019 = [81, 9, 3, 3, 4];

    var colores = ["blue", "green", "yellow", "red", "gray"];

    /*Función que sirve para dibujar nuestro grafico de barras*/
    function dibujarBarra(x, y, agnoArray, colores, texto){

        //Función que sirve para implementar un tirulo sobre nuestro grafico de barras
        escribirTexto(x+4,y-5, texto);

        /*Operador ternario en donde comparamos el valor de x, si (x>50), entonces le 
        asignamos el valor de 50, para que el ancho de nuestra grafica sea homogenea a las demas*/
        var ancho = x > 50 ? 50 : 50;

        //Ciclo donde iteramos sobre nuestos arreglos y dibujamos nuestros resctangulos
        for(var i=0; i<agnoArray.length; i++){

            //Función que nos ayuda a dibujar nuestro rectangulos
           dibujarRectangulo(x, y, ancho, agnoArray[i], colores[i]);
           //Operador de incremento en donde se suman los valores de y, para obtener la posicion de nuestros rectangulos
           y+=agnoArray[i];
        }
    }
    //Llamada de nuestra función dibujarBarra
    dibujarBarra(50, 50, agno2009, colores, "2009");

    dibujarBarra(150,50, agno2019, colores,"2019");

</script>
1 respuesta

Hola Raymundo, cómo estas?

Gracias por compartir tu proyecto, continua así, felicidades.

Recomendamos que compartas la solución de tus ejercicios en nuestro servidor de Discord, allí tenemos un canal exclusivo para eso (#compartetucodigo) y el foro solo quedaría para cualquier duda que puedas tener sobre el contenido de los cursos.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios