Forum


Replies: 3   Views: 70
Gráfica no respeta el orden asignado de los valores

Posted by rmartinez  · 13-06-2022 - 09:53

Buenos días.

Teniendo la variable $paramsChart el siguiente valor:

$paramsChart = [
  "sizeY" => 23
  "hgrid" => 1
  "vgrid" => 0
  "minorUnit" => 0
  "showValue" => 1
  "type" => "barChart"
  "chartAlign" => "center"
  "sizeX" => 10
  "legendPos" => "b"
  "color" => 2
  "stylesTitle" => [
    "fontSize" => 1100
    "bold" => true
  ]
  "title" => "Puntuación por puesto y sexo"
  "data" => [
    "legend" => [
      0 => "Equilibrada"
      1 => "Masculinizada"
      2 => "Feminizada"
    ]
    "data" => [
      0 => [
        "name" => "Director/a Adjunto/a"
        "values" => [
          0 => null
          1 => null
          2 => 877.0
        ]
      ]
      1 => [
        "name" => "Gerente"
        "values" => [
          0 => null
          1 => null
          2 => 853.0
        ]
      ]
      2 => [
        "name" => "Investigador/a Senior (Principal)"
        "values" => [
          0 => null
          1 => null
          2 => 732.0
        ]
      ]
      3 => [
        "name" => "Responsable de RRHH"
        "values" => [
          0 => null
          1 => null
          2 => 595.0
        ]
      ]
      4 => [
        "name" => "Investigador/a Senior"
        "values" => [
          0 => null
          1 => null
          2 => 485.0
        ]
      ]
      5 => [
        "name" => "Responsable de instalaciones e infraestructuras"
        "values" => [
          0 => null
          1 => null
          2 => 462.0
        ]
      ]
      6 => [
        "name" => "Investigador/a Titular Senior"
        "values" => [
          0 => null
          1 => null
          2 => 454.0
        ]
      ]
      7 => [
        "name" => "Responsable de Gestión Económica"
        "values" => [
          0 => null
          1 => null
          2 => 437.0
        ]
      ]
      8 => [
        "name" => "Responsable de desarrollo y transferencia de tecnología"
        "values" => [
          0 => null
          1 => 434.0
          2 => null
        ]
      ]
          // Más datos
    ]
  ]
]

En la gráfica resultante de addChart($paramsChart) las categorías aparecen ordenadas ascendentemente por el valor númerico de cada puesto (aunque teóricamente cada categoría pueda tener tres valores, solo se almacena uno donde toque) cuando los datos del array están justamente al revés. ¿Por qué no respeta el orden que tiene en el array?

Aprobecho también para preguntar si es posible que los valores nulos, o con valor cero, no se muestren en la gráfica.

Gracias.

Saludos.

Posted by rmartinez  · 13-06-2022 - 09:56

Lo he solucionado pasandole los datos con el orden inverso al deseado pero no tiene mucho sentido.

Sigo esperando saber si es posible que los valores nulos, o con valor cero, no se muestren en la gráfica.

Gracias.

Saludos.

Posted by admin  · 13-06-2022 - 10:34

Hola,

phpdocx utiliza el mismo orden de inserción en las gráficas que MS Word. Por ejemplo, en un bar chart, el primer valor añadido se muestra más abajo; el segundo valor justo antes y así con el resto de valores.

Con respecto a no mostrar valores concretos en una gráfica, asignando null no se muestra visualmente en la gráfica la barra pero sí ocupa una posición (hueco) que no se puede ignorar. Se añade un dato sin valor, igual que MS Word hace internamente, por lo que el hueco que utilizaría si tuviese un valor se muestra en la posición correspondiente.

Para asignar colores específicos en los valores como vemos que estáis intentando hacer y así no tener esos huecos visuales en la gráfica cuando no tienen valor, es necesario utilizar una licencia Premium junto a la opción theme disponible en el método addChart.

Regards.

Posted by rmartinez  · 13-06-2022 - 11:37

Ok, gracias.