Altova XMLSpy 2024 Enterprise Edition

Exemple de graphique : avancé

Accueil Préc Haut Suivant

Examinons le document XML suivant. (Il est nommé YearlySales.xml et est disponible dans le dossier C:\Documents and Settings\<username>\My Documents\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>

 

 

Nous souhaitons produire un graphique qui affiche les années sur l'Axe X et compare les ventes annuelles pour chaque année. Notre graphique devrait ressembler au graphique à barres ci-dessous.

ChartYAxis02

Nous allons vous montrer deux méthodes différentes. Ces deux méthodes indiquent comment les paramètres de sélection des données différents peuvent être combinés pour produire les résultats requis.

 

Méthode 1 : Modifier les valeurs d'axe

Dans la première méthode, les axes qui ont été sélectionnés dans le dialogue Choisir colonnes sont modifiés dans le dialogue Sélectionner les données. Il suffit de s'assurer que toutes les données requises sont accessibles à la sélection dans la table de données de graphique contenue dans le dialogue Sélectionner les données.

 

1.Dans le dialogue Choisir colonnes, veuillez vous assurer que tous les nœuds requis seront disponibles pour la sélection de l'Axe X et de l'Axe Y. Dans la capture d'écran ci-dessous, veuillez noter que la Profondeur de recherche de colonne a été définie à 2 de manière à ce que les attributs Year/@id sont aussi sélectionnés.

ChartEx2ColSelect

2.Dans le dialogue Sélectionner les données (capture d'écran ci-dessous), la table de données de graphique comporte les colonnes suivantes : la première colonne est la sélection de l'Axe X (qui est la sélection d'énumération automatique), les colonnes restantes sont les colonnes de la série (Axe Y), qui sont les attributs Region/@id, les contenus d'élément Year et les attributs Year/@id. Veuillez aussi noter que : (i) il y a uniquement trois lignes, donc trois graduations de l'Axe X ; (mais nous nécessitons six graduations de l'Axe X pour les six ans) ; (ii) il y a 13 colonnes de série.

ChartEx2DataSelect

3.Dans le volet Séries, nous supprimons 10 des 13 lignes de la série et renommons les trois séries restantes en Americas, Europe, et Asia, comme indiqué dans la capture d'écran ci-dessus. L'ordre sélectionné ici sera l'ordre du libellé de la graduation de l'Axe X.

4.Dans le volet Séries, sélectionner la série Americas. Dans le volet Valeurs de l'axe, cliquer sur le champ de l'Axe X pour permettre une modification. Ensuite cliquer sur la cellule I1 dans la table des données du graphique et la glisser dans la cellule N1. Dans le champ de texte de l'Axe Y, saisir soit C1:H1 ou effectuer la sélection en glissant de C1 en H1.

5.Pour les séries Europe et Asie, sélectionner C2:H2 et C3:H3, respectivement pour l'Axe Y. La sélection de l'Axe X peut être la même que celle pour la série Americas.

6.Cliquer sur OK. Le graphique requis est généré.

 

Note :le nombre de graduations de l'Axe X (défini par défaut pas le nombre de lignes dans la table des données du graphique) est augmenté de trois à six parce que le nombre des libellés de l'Axe X est six.

 

Méthode 2 : Générer des séries avec des expressions XPath

Dans la seconde méthode, les expressions XPath sont insérées pour générer des séries. Cela est nécessaire parce que le XPath de source (voir capture d'écran ci-dessous) ne possède pas en tant que ses descendants, les nœuds choisis pour la série. Néanmoins, le XPath de source génère six graduations d'Axe X (en choisissant les éléments Year du premier élément Region). Afin de pouvoir sélectionner le premier élément Region avec le prédicat [1], la case à cocher Inclure indices doit être cochée et cliquer le bouton Mettre à jour colonnes.

ChartEx1ColSelect

Dans le dialogue Choisir colonnes, l'élément Region[1]/Year a uniquement deux descendants : @id et text(). L'attribut @id est sélectionné pour l'Axe X, générant ainsi le libellé de l'Axe X correct pour chacune des six graduations de l'Axe X. La table de données de graphique serait évaluée comme suit.

 

Source XPath

X-Axis

axe Y(Series columns)

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

 

Veuillez noter que le nœud contextuel est un des six éléments Region[1]/Year à son tour. La première expression XPath cherche la valeur d'attribut actuelle Year/@id et retourne l'élément Region[2]/Year qui a la même valeur Year/@id que la valeur @id du Region[1]/Year actuel. La seconde expression XPath fait la même chose pour les éléments Region[3]/Year. Donc, pour chacune des six années : Les trois séries de l'Axe Y sont les enfants d'élément Year, respectivement, de chacun des trois éléments Region. (Le nœud text() retourne les contenus des éléments Region[1]/Year.)

 

La table de données du graphique dans le dialogue Sélectionner les données ressemblera à :

ChartEx1DataSelect

Le nom des séries dans le dialogue Sélectionner les données peut être changé pour passer des expressions XPath (comme dans la capture d'écran ci-dessus) à des légendes lisibles (capture d'écran ci-dessous). Pour chaque série, la colonne de données correcte peut être assignée dans le volet de Valeurs d'Axe (en cliquant dans le champ de saisie Axe Y puis en sélectionnant la colonne requise dans la table de données du graphique).

ChartEx1DataSelectSerMod

Les deux méthodes affichées ci-dessus génèrent des graphiques identiques. Les différentes approches sont censées montrer comment les paramètres de sélection des données doivent être utilisés.

 

© 2017-2023 Altova GmbH