Selección de datos de gráficos: flexible

www.altova.com Expandir/Contraer todos Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Archivos SPS: contenido > Gráficos >

Selección de datos de gráficos: flexible

En el panel Selección de datos del gráfico del diálogo Configuración del gráfico el botón de opción Flexible permite seleccionar los datos de los ejes Z, X e Y de forma totalmente flexible usando expresiones XPath. La expresión XPath de un eje devuelve la secuencia de elementos que se dibujará en el eje. Después las tres secuencias (de elementos) se compilan para generar el gráfico.

 

ChartDataSelectorOview

 

Es necesario tener en cuenta que:

 

Una serie es una serie de valores que se dibujan para un conjunto de marcas del eje X (el eje de categoría). Si se añade otra serie, esta segunda serie dibujaría otro conjunto de valores sobre las mismas marcas de graduación del eje X. Por ejemplo, si el eje X representa los años 2008, 2009 y 2010 y el eje Y representa las ventas alcanzadas, la Serie 1 podría representar América (las ventas alcanzadas  en América esos años) y la Serie 2 representaría Europa (las ventas realizadas en Europa esos años). Si estos datos se seleccionan para un gráfico de barras, por cada año (2008, 2009, 2010) el eje X tendrá dos barras (América y Europa), una barra por cada serie. Si se trata de un gráfico circular, solo se puede usar una serie. Para más información sobre cada tipo de gráfico, consulte esta tabla.
Cada fila del panel Selección de datos del gráfico representa una serie.
La expresión XPath de la columna for-each ofrece el contexto para la evaluación de las otras tres expresiones XPath. La expresión XPath de la columna for-each se evalúa en el contexto del nodo donde se insertó el gráfico.

 

A continuación mencionamos aspectos importantes que debería tener en cuenta a la hora de seleccionar datos para los ejes. Para ello usamos este documento XML como ejemplo:

 

Haga clic para expandir/contraerArchivo XML utilizado en los gráficos de ejemplo: YearlySales.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <ChartType>Pie Chart 2D</ChartType>

 <Region id="Americas">

         <Year id="2005">30000</Year>

         <Year id="2006">90000</Year>

         <Year id="2007">120000</Year>

         <Year id="2008">180000</Year>

         <Year id="2009">140000</Year>

         <Year id="2010">100000</Year>

 </Region>

 <Region id="Europe">

         <Year id="2005">50000</Year>

         <Year id="2006">60000</Year>

         <Year id="2007">80000</Year>

         <Year id="2008">100000</Year>

         <Year id="2009">95000</Year>

         <Year id="2010">80000</Year>

 </Region>

 <Region id="Asia">

         <Year id="2005">10000</Year>

         <Year id="2006">25000</Year>

         <Year id="2007">70000</Year>

         <Year id="2008">110000</Year>

         <Year id="2009">125000</Year>

         <Year id="2010">150000</Year>

 </Region>

</Data>

 

 

Una fila y una serie

Imagine que necesita generar un gráfico de barras 2D que ilustre los elementos Region (el documento contiene tres elementos Region, para América, Europa y Asia). En este caso creamos el gráfico en el diseño dentro del nodo de elemento Region. Es decir, el nodo de contexto para las expresiones XPath for-each del panel Selección de datos del gráfico es el elemento Region.

 

ChartDataSelectorOview

 

En la selección de datos del gráfico de la imagen anterior, la expresión for-each devuelve el nodo actual (que es el elemento Region) y, por tanto, el elemento Region será el nodo de contexto para las otras tres expresiones XPath (la de la serie, la del eje X y la del eje Y). Como en este gráfico solo hay una serie, no necesitamos un nombre de serie y podemos dejar vacía la columna Nombre de la serie. La XPath del eje X devuelve seis valores. Seis serán, por tanto, las marcas de graduación del eje X y los seis elementos de la secuencia serán las etiquetas de las marcas del eje X. La XPath del eje Y también devuelve seis elementos. Estos seis elementos se dibujan en el eje Y. Como el gráfico se creó dentro del elemento Region, el motor XSLT recorrerá los tres elementos Region y generará tres gráficos, uno por cada elemento Region. Por cada gráfico, se usarán los nodos descendientes del elemento Region.

 

Este sería el gráfico del elemento Region de América:

 

ChartBar2DAmericas

 

Tres filas, tres series, valores de la categoría sin combinar

Para crear varias series puede añadir más filas en la tabla de selección de datos (imagen siguiente).

 

ChartDataSelFlex02

 

En este ejemplo es importante tener en cuenta estos puntos:

 

Cada fila define una serie y todas las filas tienen como nodo de contexto el mismo elemento Data (porque el gráfico se creó dentro de un nodo Data).
La primera fila define la serie Americas. Se utiliza una expresión de cadena para el nombre de la serie. Los valores del eje X se seleccionan a través de los valores de Year/@id de la región Europe (no importa qué región se selecciona porque todas tienen el mismo valor Year/@id). Los valores del eje Y de la primera serie (Americas) se seleccionan con un filtro de predicado.
La segunda y tercera serie siguen el mismo patrón que la primera. Sin embargo, la selección del eje X para cada serie es idéntica. Al no haber marcado la casilla Combinar valores de categoría... se ignoran la segunda y la tercera expresión. (Incluso si se combinan los valores, daría lo mismo porque los valores de cada serie son idénticos. A los valores de la categoría solamente se añadirían valores únicos.)

 

 

Este sería el gráfico generado con la selección de datos de la imagen anterior:

 

ChartBar2DSeries

 

Tres filas, tres series y valores de categorías combinados

El proceso de selección de datos de este ejemplo (imagen siguiente) tiene varias diferencias con el ejemplo anterior: (i) la selección de datos del eje X para la tercera serie añade un elemento más a la serie (2011), (ii) la casilla Combinar valores de categoría... está marcada y (iii) el intervalo de las marcas de graduación del eje Y se estableció manualmente en 20000.

 

ChartDataSelFlex02Merge

 

El resultado es que se añade un elemento más (2011) a la secuencia del eje X. Este sería el gráfico resultante:

 

ChartDataSelFlex02MergeShot

 

Una fila, tres series

El gráfico de este ejemplo se crea dentro del nodo Data (ver el documento XML más arriba). Para la selección de datos se utiliza una sola fila, pero esta fila genera tres series. Esto se debe a que la expresión XPath de la columna For-each devuelve una secuencia de tres elementos, lo cual crea tres series.

 

ChartDataSelFlex03

 

Por cada serie, el nombre de la serie, el eje X y los datos del eje Y se corresponden con las regiones porque cada serie tiene un elemento Region distinto como nodo de contexto. Este sería el gráfico resultante:

 

ChartBar2DSeries

 

Reglas para la selección de datos de gráficos

Cuando use el selector de datos de gráficos debe tener en cuenta que:

 

1.El número de barras (o de porciones de un gráfico circular, etc.) es igual al número de elementos de la mayor secuencia del eje X o del eje Y de cada fila de selección de datos. Es decir, si el eje X (que da las etiquetas) tiene cinco elementos y el eje Y (que da los valores) tiene seis elementos, se dibujarán seis barras y la última barra no tendrá etiqueta. Si el eje X tiene seis elementos y el eje Y tiene cinco, se dibujarán seis barras y la última barra tendrá etiqueta pero un valor 0.
2.El número de series es igual al número creciente de elementos de todas las secuencias devueltas por las expresiones de la columna For-each.
3.El nombre de cada serie se selecciona con la expresión XPath del eje Z (o eje del nombre de la serie). Si en una fila de selección de datos se deja vacía esta expresión XPath, se crea una serie sin nombre. Además si la expresión XPath devuelve una secuencia con un número de elementos menor al número de series, entonces algunas series no tendrán nombre.

 

En los apartados siguientes puede ver más ejemplos de cómo seleccionar datos con la opción Selección flexible. Estos ejemplos muestran:

 

El uso de variables de Authentic editables para la selección de datos, también en gráficos medidores
El uso de expresiones XPath para la selección compleja de datos
Cómo usar el eje de series para generar barras agrupadas
Cómo usar el eje de series para generar gráficos de líneas
Cómo usar secuencias literales de una expresión XPath como valores
Cómo usar funciones Java y .NET

 


Temas relacionados:

 

 


 

 


© 2019 Altova GmbH