Saltar la navegación

Sectores proporcionales

Paso a paso

Fijamos el origen en O=(0,0)

Creamos un deslizador n de tipo entero, valor mínimo 3, valor máximo 20, incremento 1.

Creamos los valores aleatorios con los que realizaremos el reparto proporcional de la unidad:

  • ale=Secuencia(AleatorioEntre(1,10),k,1,n)

Calculamos los ángulos proporcionales:

  • orden=Ordena(Secuencia(ale(k) * 360 / Suma(ale), k, 1, Longitud(ale)))

Creamos la lista con todos ángulos que nos harán falta para crear los sectores.

  • Suma=Unión({0},Ordena(Secuencia(Suma(orden, k), k, 1, Longitud(orden))))

Genero una lista aleatoria de longitudes:

  • lng=Secuencia(AleatorioEntre(1,10),k,1,n+1)

Para crear los sectores tenemos dos opciones:

  1. Usando la hoja de cálculo
    1. En la columna A generamos números 1, 2, 3, 4, ...
    2. En la columna B:
      1. B1 escribimos: =O + (lng(A1); Suma(A1)º)
      2. Arrastramos hasta el B20.
      3. Para B21 escribiremos: =O + (lng(20); 360°)
    3. En la columna C:
      1. En C1 escribimos: =SectorCircular(O, B1, B2)
      2. Personalizamos los colores en el sector creado en C1:
        1. Rojo n/3
        2. Verde; A2/5
        3. Azul: A2 n/7
        4. Opacidad: 0.5
      3. Arrastramos hasta C19.
  2. Usando el comando secuencia
    • Ejecuta(Secuencia("A"+ k + "=CircularSector(O, (lng(" + k + "); Suma(" + k + ") π / 180), (lng(" + (k + 1)+ "); Suma(" + (k + 1)+") π / 180))", k, 1, n))
    • Ejecuta(Secuencia("SetDynamicColor(A"+i+", random(),random(), random(),0.5)",i,1,20))