Selección de datos de gráficos: básica

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: básica

En el panel Selección de datos del gráfico del diálogo Configuración del gráfico el botón de opción Básica permite ver la selección de datos en forma de tabla. Para explicar esta característica usaremos este documento XML:

 

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>

 

 

En el diseño SPS insertamos un gráfico dentro del nodo Data. En el panel Selección de datos del gráfico (imagen siguiente), hacemos clic en el botón de opción Básica y después hacemos las selecciones que aparecen en la imagen. Como el gráfico se insertó dentro del nodo Data, el nodo de contexto para la expresión For-Each es el nodo Data.

 

ChartDataSelSimple01

 

La tabla de datos del gráfico sería la que aparece a continuación. Es decir, por cada elemento Region[1]/Year se crea un fila y las expresiones del eje X y del eje Y se evalúan dentro del contexto del elemento Region[1]/Year correspondiente.

 

XPath de la expresión For-Each

Eje X

Eje Y para las series

Americas

Europe

Asia

Region[1]/Year[1]

@id

text()

XPath-1

XPath-2

Region[1]/Year[2]

@id

text()

XPath-1

XPath-2

Region[1]/Year[3]

@id

text()

XPath-1

XPath-2

Region[1]/Year[4]

@id

text()

XPath-1

XPath-2

Region[1]/Year[5]

@id

text()

XPath-1

XPath-2

Region[1]/Year[6]

@id

text()

XPath-1

XPath-2

 

La expresión for-each Region[1]/Year devuelve seis nodos (y crea seis filas en la tabla). El número de elementos de la secuencia devuelta por la expresión for-each determina el número de marcas de graduación del eje X.
La expresión XPath para el eje X devuelve el valor del atributo @id de cada elemento Region[1]/Year. Estos valores serán las etiquetas de las marcas de graduación del eje X. Si hay más etiquetas que marcas de graduación, StyleVision genera más marcas de graduación para que todas las etiquetas aparezcan en el gráfico. Si hay menos etiquetas que marcas de graduación, no se incluyen las etiquetas de las marcas para las que no hay una etiqueta. La opción Enumeración automática genera una secuencia de enteros que empieza por 1 y asigna un entero a cada marca del eje X.
La expresión XPath para la serie Americas (text()) devuelve el contenido de cada elemento Region[1]/Year. Esta expresión también puede usar una expresión parecida a la que se utiliza con las series Europe y Asia, siempre y cuando devuelva los valores que queremos.
La expresión XPath para la serie Europe es: for $i in @id return //Region[2]/Year[@id=$i]. Esta expresión: (i) busca el valor del atributo Region[1]/Year/@id actual y (ii) devuelve el contenido del elemento Region[2]/Year que tiene el mismo valor @id que el valor @id del elemento Region[1]/Year actual.
La expresión XPath para la serie Asia funciona igual que la expresión utilizada para la serie Europe.

 

Esta selección de datos daría como resultado este gráfico de barras:

 

ChartBar2DSeries

 

Y la misma selección de datos daría como resultado este gráfico de líneas:

 

ChartDataSelSimple01Chart

 

La selección de datos que acabamos de describir es la utilizada para uno de los gráficos de líneas que aparecen en el archivo SPS YearlySales.sps. El diseño SPS está basado en el esquema XML YearlySales.xsd y utiliza el archivo YearlySales.xml como XML de trabajo (el XML que aparece al principio de este apartado). Estos tres archivos están en la carpeta (Mis) Documentos, C:\Documents and Settings\<usuario>\Mis Documentos\Altova\StyleVision2019\StyleVisionExamples/Tutorial/Charts.

 

Si la expresión for-each devuelve elementos que no son nodos

El número de marcas de graduación del eje X depende fundamentalmente del número de elementos que devuelve la expresión for-each. La expresión del ejemplo siguiente (distinct-values(//Year/@id)) devuelve seis valores de año únicos y, por tanto, genera seis marcas de graduación en el eje X. Los elementos que devuelve la secuencia, sin embargo, son valores atómicos y no nodos. Por consiguiente, aunque se pueden usar como elementos de contexto, no se pueden usar como nodos de contexto para buscar nodos en el árbol XML. Sin embargo, se pueden usar para buscar nodos en función de la igualdad de los valores. Este es el método que se utiliza en el ejemplo de la imagen.

 

ChartDataSelSimple02

 

Observe que en la selección de datos del diálogo:

 

las expresiones para los ejes X e Y utilizan los valores atómicos devueltos por la expresión for-each como resultado directo y como valores de filtro.
los pasos de ubicación de las expresiones XPath empiezan por el nodo de documento ($XML en $XML//Region...). Esto es necesario porque los valores atómicos no ofrecen contexto de posición.

 

 

Esta sería la tabla de datos del gráfico:

 

Expresión for-each

Eje X

Eje Y para las series

Americas

Europe

Asia

2005

2005

XPath-1

XPath-2

XPath-3

2006

2006

XPath-1

XPath-2

XPath-3

2007

2007

XPath-1

XPath-2

XPath-3

2008

2008

XPath-1

XPath-2

XPath-3

2009

2009

XPath-1

XPath-2

XPath-3

2010

2010

XPath-1

XPath-2

XPath-3

 

 


Temas relacionados:

 

 


 

 


© 2019 Altova GmbH