Cómo crear un gráfico simple en JavaScript

Cómo crear un gráfico simple en JavaScript
Los gráficos son mejores que los datos textuales para mostrar algún tipo de encuesta o clasificar los datos sin procesar. Los usuarios pueden crear gráficos con la ayuda de diferentes elementos SVG agrupados para mostrar datos. En html se usa para mostrar un elemento SVG y un La etiqueta se usa para agrupar múltiples elementos SVG juntos. Sin embargo, usar JavaScript para calcular elementos que tenemos que clasificar en el gráfico y luego mostrarlos en un gráfico lineal es bastante complejo.

Este artículo tomará una variedad de elementos que van a hacer el automóvil y su cantidad se encuentra en una encuesta. Después de eso, calculará sus porcentajes de los autos totales en la encuesta y luego los mostrará en el gráfico con sus porcentajes escritos en el gráfico lineal.

Paso 1: Configuración del documento HTML

El HTML no requiere muchas cosas que se deben hacer dentro de él. Simplemente necesitamos crear un vacío <div> que será modificado por el código JavaScript, y JavaScript también trazará el gráfico dentro de este DIV. Por lo tanto, use las siguientes líneas:


Este es un gráfico lineal que muestra porcentajes de automóvil de una encuesta

En este punto, el documento HTML solo mostrará el siguiente resultado:

El DIV no es visible, porque actualmente no contiene ningún otro elemento o texto.

Paso 2: Configuración del código JavaScript

Comience por crear una matriz de elementos. Esta matriz va a contener el nombre de la marca del automóvil y la cantidad de automóviles. Para esto, simplemente use las siguientes líneas:

Let ElementArray = [];
elementArray [0] = ["Mercedes", 8];
elementArray [1] = ["Audi", 13];
elementArray [2] = ["BMW", 11];
elementArray [3] = ["Porsche", 25];

Después de eso, vamos a crear una función que traiga el gráfico en el documento HTML. Esta función se nombrará "Plotgraph", Y tomará los tres parámetros como:

función plotgraph (array, graphwidth, div)
// Las siguientes líneas se incluirán en este cuerpo

Como puede ver, esta función toma el elemento del cual va a elegir en los datos sin procesar, toma el ancho del gráfico en la página web HTML y el DIV en el que tiene que trazar el gráfico.

En esta función, lo primero es crear las siguientes variables:

Sea TotalCars = 0;
Deje que CalPORTENTAGE = 0;
dejar calwidth = 0;

La cosa es:

  • Los autos totales se utilizarán para almacenar la cantidad de automóviles
  • Se utilizará el calpercentaje para calcular el porcentaje de cada automóvil
  • Calwidth se utilizará para determinar el tamaño de la barra (según el porcentaje) del gráfico que se colocará dentro del ancho pasado en los parámetros

Para calcular el número total de automóviles, use las siguientes líneas de código:

para (i = 0; i < array.length; i++)
TotalCars += parseInt (matriz [i] [1]);

Después de eso, cree una variable nombrada como salida, esta variable se utilizará para crear una tabla en la página web HTML. Por lo tanto, contendrá código HTML dentro de él:

Dejar la salida = '';

Actualmente, esto producción variable solo contiene la consulta para el inicio de la tabla. Más adelante, se agregarán más consultas en el interior, lo que representará la tabla completa con un gráfico dentro de él.

Después de eso, simplemente use las siguientes líneas de código:

para (i = 0; i < array.length; i++)
Calpencentage = matemáticas.redonda ((matriz [i] [1] * 100) / totalCars);
calwidth = matemáticas.redonda (GraphWidth * (CalPercentage / 100));
salida += '';

En el fragmento de código anterior:

  • Esto para el bucle va a iterar a través de la matriz de elementos uno por uno
  • Se calculan los porcentajes de cada automóvil
  • Y luego se calcula el tamaño de la barra porcentual
  • Por último, el producción se acumula con la consulta HTML para calcular la siguiente barra del gráfico
  • La etiqueta crea un elemento SVG en la página web HTML
  • Grupos elementos SVG juntos bajo un nombre de picado

Después de esto, simplemente salga del bucle for bucle y agregue la etiqueta final de la tabla dentro del producción variable

salida += "
$ matriz [i] [0] $ CalPERENTAGE%
";

Ahora en este punto, la variable de salida contiene la consulta HTML completa para trazar el gráfico lineal de los datos sin procesar que se proporcionó. Todo lo que queda por hacer es acceder al div y establecerlo igual a nuestro producción variable y también muestra el número total de automóviles:

div.innerhtml = '$ output
COCHES TOTALES: $ TotalCars';

Y con eso la función PlotGrapgh Esta completo. Para trazar el gráfico, simplemente llame al trama funcionar y pasar en los argumentos como:

Plotgraph (elementArray, 500, documento.getElementById ("GraphDiv"));

El código JavaScript completo es como:

Let ElementArray = [];
elementArray [0] = ["Mercedes", 8];
elementArray [1] = ["Audi", 13];
elementArray [2] = ["BMW", 11];
elementArray [3] = ["Porsche", 25];
función plotgraph (array, graphwidth, div)
Sea TotalCars = 0;
Deje que CalPORTENTAGE = 0;
dejar calwidth = 0;
para (i = 0; i < array.length; i++)
TotalCars += parseInt (matriz [i] [1]);

Dejar la salida = '';
para (i = 0; i < array.length; i++)
Calpencentage = matemáticas.redonda ((matriz [i] [1] * 100) / totalCars);
calwidth = matemáticas.redonda (GraphWidth * (CalPercentage / 100));
salida += '';

salida += "
$ matriz [i] [0] $ CalPERENTAGE%
";
div.innerhtml = '$ output
COCHES TOTALES: $ TotalCars';

Plotgraph (elementArray, 500, documento.getElementById ("GraphDiv"));

Ejecutar el documento HTML en un navegador web ahora muestra la siguiente salida:

Y el gráfico lineal ha sido trazado dentro del div Mostrar los porcentajes de diferentes autos de una encuesta.

Conclusión

Es posible crear un gráfico en un documento HTML con la ayuda de JavaScript. Para esto, el usuario necesita utilizar el etiqueta para crear elementos SVG y el para agrupar múltiples elementos SVG juntos bajo un nombre específico. Sin embargo, no es fácil crear un gráfico en una página web HTML, ya que puede ser muy desalentador para un nuevo principiante. En este artículo, se construyó un gráfico lineal con JavaScript, y cada paso se explicó a fondo.