Altova XMLSpy 2024 Enterprise Edition 

Ejemplo de gráfico avanzado

Inicio Anterior Inicio Siguiente

Tomemos este documento XML como ejemplo. (Es el archivo YearlySales.xml de la carpeta C:\Documents and Settings\<usuario>\Mis Documentos\Altova\XMLSpy2024\Examples\Tutorial.)

 

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

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

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <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>

 

 

Queremos generar un gráfico que muestre los años en el eje X y compare las ventas de cada región en cada año. Nuestro gráfico debería ser como este:

ChartYAxis02

Hay dos maneras de crear este gráfico y ambas se describen a continuación. En este apartado aprenderá cómo se pueden combinar los parámetros de selección de datos para producir los resultados deseados.

 

Método 1: modificar los valores de los ejes

Este primer método consiste en modificar en el cuadro de diálogo Seleccionar datos los ejes que se seleccionaron en el cuadro de diálogo Seleccionar columnas. Para ello es imprescindible que los datos necesarios estén disponibles en la tabla de datos del gráfico en el cuadro de diálogo Seleccionar datos.

 

1.En el cuadro de diálogo Seleccionar columnas, compruebe que los nodos necesarios estarán disponibles para los ejes X e Y. En la imagen siguiente puede observar que la profundidad de la búsqueda de columnas se fijó en 2 para que se puedan seleccionar también los atributos Year/@id.

ChartEx2ColSelect

2.En el cuadro de diálogo Seleccionar datos (imagen siguiente) la tabla de datos del gráfico tiene estas columnas: la columna A es la selección del eje X (con numeración automática), el resto de columnas son las columnas de la serie (eje Y), es decir, los atributos Region/@id, el contenido de los elementos Year y los atributos Year/@id. Además, como puede ver, hay sólo tres filas y por tanto el gráfico tendrá sólo tres marcas de graduación. Por último, observe que hay 13 columnas de series.

ChartEx2DataSelect

3.En el panel "Series" elimine 10 de las 13 series (cualesquiera) y cambie el nombre de las tres series restantes a América, Europa y Asia (ver imagen anterior). El orden seleccionado en este panel será el orden en el que se etiqueten las marcas de graduación del eje X.

4.En el panel "Series" seleccione la serie América. En el panel "Valores del eje" haga clic en el cuadro del eje X. Después haga clic en la celda I1 de la tabla de datos del gráfico y arrastre el ratón hasta la celda N1. Después haga clic en el cuadro del eje Y y escriba C1:H1 o seleccione este rango de celdas en la tabla de datos del gráfico.

5.Para las series Europa y Asia, seleccione el rango de celdas C2:H2 y C3:H3 respectivamente para el eje X. Para el eje Y la selección puede ser la misma que la utilizada en la serie América.

6.Haga clic en Aceptar y se genera el gráfico.

 

Nota:El número de marcas de graduación del eje X (cuyo número predeterminado equivale al número de filas de la tabla de datos del gráfico) sube de tres a seis porque el número de etiquetas del eje X es seis.

 

Método 2: generar series mediante expresiones XPath

El segundo método consiste en insertar expresiones XPath para generar series de datos. Esto es necesario porque la XPath de origen (ver imagen siguiente) no tiene como descendientes los nodos que deseamos utilizar en las series. Sin embargo, la XPath de origen genera seis marcas de graduación para el eje X (porque selecciona los seis elementos Year del primer elemento Region). Para poder seleccionar el primer elemento Region usando el predicado [1] es necesario marcar la casilla Incluir índices y hacer clic en el botón Actualizar columnas.

ChartEx1ColSelect

En el cuadro de diálogo Seleccionar columnas el elemento Region[1]/Year tiene sólo dos descendientes: @id y text(). Seleccione el atributo @id para el eje X. Así se genera la etiqueta correcta para cada una de las marcas de graduación del eje X. Esta es la tabla de datos del gráfico que se recupera:

 

XPath de origen

Eje X

Eje Y (columnas de la serie)

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

 

Recuerde que el nodo de contexto es cada uno de los seis elementos Region[1]/Year. La primera expresión XPath busca el valor del atributo Year/@id actual y devuelve el elemento Region[2]/Year que tenga el mismo valor Year/@id que el valor @id del elemento Region[1]/Year actual. La segunda expresión XPath hace lo mismo con los elementos Region[3]/Year. De este modo, por cada uno de los seis años, las tres series del eje Y son los descendientes del elemento Year de cada uno de los tres elementos Region. (El nodo text() devuelve el contenido de los elementos Region[1]/Year.)

 

La tabla de datos del gráfico tendría este aspecto en el cuadro de diálogo Seleccionar datos.

ChartEx1DataSelect

El nombre de las series del cuadro de diálogo Seleccionar datos se puede cambiar. En lugar de expresiones XPath (como en la imagen anterior) puede usar nombres más significativos, en este caso, el nombre de las regiones (ver imagen siguiente). En el panel "Valores del eje" puede asignar la columna de datos pertinente a cada serie (para ello haga clic en la serie, después en el cuadro del eje Y y después seleccione la columna de la tabla de datos).

ChartEx1DataSelectSerMod

Los dos métodos descritos en este apartado generan el mismo gráfico. El objetivo de describir ambos métodos es explicar cómo se pueden usar los diferentes parámetros de selección de datos.

 

© 2017-2023 Altova GmbH