es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Creando un array de párrafos en JavaScript

Estoy dibujando datos en un lienzo de JS. Necesito ingresar los valores del eje vertical y horizontal a intervalos fijos.

Me gustaría saber cómo crear un array de párrafos o texto para asignarles una coordenada absoluta y el valor correcto del eje para dibujarlos alrededor del lienzo.

Actualmente los creé y edité línea por línea:

document.getElementById('percent0').innerHTML = 
                         a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.25;
document.getElementById('percent25').innerHTML =
                         a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.5;
document.getElementById('percent50').innerHTML = 
                         a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.75;
document.getElementById('percent75').innerHTML = 
                         a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*1;
document.getElementById('percent100').innerHTML = 
                         a.toFixed(5-Math.round(Math.log10(a)));

Pero me gustaría hacerlo de manera más inteligente utilizando un array si es posible.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear un array de párrafos o textos con el fin de asignar una coordenada absoluta y el valor de eje correcto para dibujarlos alrededor del lienzo, puedes seguir estos pasos:

    1. Crea un array vacío para almacenar los párrafos/textos:
      var axisLabels = [];
      
    2. Define los intervalos fijos tanto para el eje horizontal como para el eje vertical:
      var hInterval = 100; // intervalo horizontal
      var vInterval = 5;   // intervalo vertical
      
    3. Calcula los valores mínimo y máximo para el eje vertical:
      var minVal = 0;   // valor mínimo para el eje vertical
      var maxVal = 100; // valor máximo para el eje vertical
      
    4. Recorre los valores verticales y crea un párrafo/texto para cada valor:
      for (var i = minVal; i <= maxVal; i += vInterval) {
       var p = document.createElement('p'); // crea un nuevo elemento párrafo
       p.textContent = i.toFixed(5 - Math.round(Math.log10(i))); // establece el contenido de texto con el valor de eje correcto
       axisLabels.push(p); // agrega el elemento párrafo al array
      }
      
    5. Asigna una coordenada absoluta a cada párrafo/texto basado en el intervalo horizontal:
      for (var i = 0; i < axisLabels.length; i++) {
       axisLabels[i].style.position = 'absolute'; // establece la posición como absoluta
       axisLabels[i].style.bottom = '-10px'; // establece la posición inferior en -10px
       axisLabels[i].style.left = (i * hInterval) + 'px'; // establece la posición izquierda usando el intervalo horizontal
       document.getElementById('canvas').appendChild(axisLabels[i]); // agrega el elemento párrafo/texto al elemento lienzo
      }
      

    Esto creará un array de párrafos/textos con los valores de eje correctos y las coordenadas absolutas para dibujarlos alrededor del lienzo.

Comments are closed.