ONYX - 9.0 - Utilisation

Fonctionnement des graphiques

De MappingDoc
Autres langues :
français

Graphiques

ONYX Designer intègre un module de création de graphiques.

Créer un nouveau graphique

  1. - Cliquez sur l'icone Graphique de la barre d'outils Variable.
  2. - Cliquez sur la page et faites glisser la souris pour tracer le cadre où s'imprimera le graphique.
  3. - Entrez un nom, un nombre de zones, et cochez le type de graphique que vous voulez imprimer.

Le nombre de zones à entrer est le nombre de zones maximum que peut comporter votre graphique.

Graph1.png

Paramétrer un graphique

Les graphiques permettent un paramétrage assez évolué. Vous pouvez modifier les titres des axes, le nombre d'intervalles, les valeurs maximales…

Pour tous ces paramètres, vous pouvez soit fixer les valeurs pour ce graphique soit récupérer ces informations dans le spool. Les informations récupérées dans le spool seront prioritaires sur les valeurs définies "en dur" pour ce graphique.

C'est utile, par exemple, dans le cas où le titre du graphique n'est pas présent dans toutes les pages du spool. Cela revient à considérer les valeurs du graphique comme étant des valeurs par défaut. Il faut dans ce cas conditionner les zones de type graphique sur la présence d'une valeur dans le spool.

  1. - Titre du graphique
  2. - Titre des axes
  3. - Données des axes
  4. - Valeurs minimales / maximales
  5. - Nombre d'intervalles de l'axe Y
  6. - Origine de l'axe Y
  7. - Arrondir les valeurs de l'axe Y
Graph2.png

Zone de type Graphique

Ces zones permettent de paramétrer complètement votre graphique en fonction des valeurs du spool : titres, légende, axes…

  1. - Données du graphique
  2. - Données de l'axe X
  3. - Données de l'axe Y
  4. - Titre du graphique
  5. - Titre de l'axe X
  6. - Titre de l'axe Y
  7. - Données de la légende
  8. - Valeur minimum de l'axe Y
  9. - Valeur maximum de l'axe Y
  10. - Nbr d'intervalles de l'axe Y
  11. - Arrondir à n près dans l'axe Y
  12. - Origine de l'axe Y

Récupération des zones de données

Un graphique ne récupère pas seul de données du spool. Il utilise des zones de type graphique. Cela permet de conditionner complètement la récupération des données.

Pour associer des zones à un graphique, il suffit de leur donner le même nom.

Les zones peuvent bien entendu appartenir à un groupe, fixe ou variable, être conditionnées... Les informations de police et style ne sont pas utilisées. Une zone de type Graphique n'imprime rien seule.

Récupérer une donnée du spool en tant que donnée du graphique

  1. - Créez votre zone (positions dans le fichier d'origine, condition, appartenance à un groupe...)
  2. - Nommez-la comme le graphique complexe dont elle dépend
  3. - Sélectionnez le type Graphique
  4. - Choisissez le sous-type Données du graphique

Configuration

Arrondir les valeurs de l'axe Y

Pour arrondir les valeurs des données de l'axe Y, vous pouvez soit :

  1. - Créer une zone de type Graphique / Arrondir à n près l'axe Y récupérant la valeur "n" dans le spool
  2. - Définir la valeur dans les propriétés du graphique

Pour modifier le pas de l'arrondi :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur l'image représentant le graphique
  3. - Dans l'onglet Axe Y, modifiez la valeur

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Données des axes

Pour définir les données des axes, vous devez créer une zone de type Graphique / Données de l'axe X (ou Y) récupérant les valeurs dans le spool.

Police et style
La police et le style des données sont définis dans les propriétés du graphique et non dans les zones de type graphique.

Pour modifier la police et le style :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur l'image du graphique
  3. - Modifiez les valeurs de l'onglet Police Axe Y ou Police Axe X

Nombre d'intervalles de l'axe Y

Pour définir le nombre d'intervalles de l'axe Y, vous pouvez soit :

  1. - Créer une zone de type Graphique / Nbr d'intervalles de l'axe Y récupérant la valeur dans le spool
  2. - Définir ce nombre dans les propriétés du graphique

Pour définir le nombre d'intervalles dans les propriétés du graphique :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur l'image représentant le graphique
  3. - Dans l'onglet Axe Y, modifiez la valeur

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Origine de l'axe Y

Pour définir l'origine de l'axe Y, vous pouvez soit :

  1. - Créer une zone de type Graphique / Origine de l'axe Y récupérant la valeur dans le spool
  2. - Définir la valeur dans les propriétés du graphique

Pour définir l'origine de l'axe Y dans les propriétés du graphique :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur l'image représentant le graphique
  3. - Dans l'onglet Axe Y, modifiez la valeur

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Titre des axes

Pour donner un titre aux axes, vous pouvez soit :

  1. - Créer une zone de type Graphique / Titre de l'axe X (ou Y) récupérant le titre dans le spool
  2. - Définir le titre dans le graphique

Pour définir le titre de l'axe dans le graphique :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur la zone Titre de l'axe X
  3. - Entrez une valeur dans le label

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Titre du graphique

Pour donner un titre au graphique, vous pouvez soit :

  1. - Créer une zone de type Graphique / Titre du graphique récupérant le titre dans le spool
  2. - Définir le titre dans le graphique

Pour définir le titre de l'axe dans le graphique :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur la zone Titre Graphique
  3. - Entrez une valeur dans le label

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Valeurs minimales / maximales

Pour définir les valeurs mini et maxi de l'axe Y, vous pouvez soit :

  1. - Créer une zone de type Graphique / Valeur maximale (minimale) de l'axe Y récupérant la valeur dans le spool
  2. - Définir cette valeur dans les propriétés du graphique

Pour définir les valeurs mini et maxi dans les propriétés du graphique :

  1. - Dans les propriétés du graphique, sélectionnez l'onglet Positionnement
  2. - Double-cliquez sur l'image représentant le graphique
  3. - Dans l'onglet Axe Y, modifiez les valeurs

Police et style
La police et le style des axes sont définis dans les propriétés du graphique et non dans les zones de type graphique. Même si vous ne définissez pas de label dans les propriétés du graphique, vous devez définir la police à utiliser.

Paramètres

Arrondir à n près dans l'axe Y

Ce type de zone permet d'arrondir les valeurs de l'axe vertical (pour les histogrammes et les lignes).

Données de l'axe X

Ce type de zone récupère des valeurs du spool pour les utiliser en tant que données de l'axe horizontal (pour les histogrammes et les lignes).

Données de l'axe Y

Ce type de zone récupère des valeurs du spool pour les utiliser en tant que données de l'axe vertical (pour les histogrammes et les lignes).

Données de la légende

Ce type de zone récupère dans le spool les valeurs qui vont servir à dessiner la légende.
Il s'agit du texte de la légende.

Données du graphique

Ce type de zone récupère dans le spool les valeurs qui vont servir à dessiner le graphique.
Elle ne récupère que des données de type numérique signée. Les autres caractères sont ignorés.

Nombre d'intervalles de l'axe Y

Ce type de zone récupère des valeurs du spool pour les utiliser en tant que nombre d'intervalles de l'axe vertical (pour les histogrammes et les lignes).

Origine de l'axe X

Ce type de zone récupère une valeur du spool en tant qu'origine de l'axe vertical (pour les histogrammes et les lignes) c'est à dire comme première valeur de l'axe.

Titre de l'axe X

Ce type de zone récupère une valeur du spool en tant que titre de l'axe horizontal (pour les histogrammes et les lignes).

Titre de l'axe Y

Ce type de zone récupère une valeur du spool en tant que titre de l'axe vertical (pour les histogrammes et les lignes).

Titre du graphique

Ce type de zone récupère une valeur du spool en tant que titre du graphique.

Valeur maximum de l'axe Y

Ce type de zone récupère une valeur du spool en tant que valeur maximum de l'axe vertical (pour les histogrammes et les lignes).
Attention, si une donnée du graphique dépasse cette valeur, elle ne s'affichera pas correctement.

Valeur minimum de l'axe Y

Ce type de zone récupère une valeur du spool en tant que valeur minimum de l'axe vertical (pour les histogrammes et les lignes).
Attention, si une donnée du graphique est inférieure à cette valeur, elle ne s'affichera pas correctement.

Code à barre

Pour créer un code à barre dans MapDraw, il suffit de créer un objet de type « Graphique ».

Graph3.png

Dans l’onglet « Type », le nombre de zones représente le nombre de types de valeurs à représenter, dans la plupart des cas une seule zone est nécessaire. L’utilisation de plusieurs zones permet de définir une couleur et un style particulier à chaque valeur du graphique.

L’onglet « Attributs » permet de définir l’apparence de chaque zone, sa couleur, son type de remplissage, etc.

L’onglet « Positionnement » permet de positionner chaque élément du graphique, à savoir le graphique en lui-même, le titre de chaque axe, le titre du graphique ainsi que la légende.

Graph4.png

En double-cliquant sur un élément particulier, on accède à la fenêtre de Propriétés permettant de modifier les propriétés de l’objet (police de caractère, couleur, etc.)

Définition des valeurs du graphique

Pour définir les attributs du graphique et ajouter des valeurs, il faut ajouter des zones de type graphique.

Les paramètres possibles sont :

  1. - Données du graphique
  2. - Données de l’axe X
  3. - Donnée de l’axe Y
  4. - Titre du graphique
  5. - Titre de l’axe X
  6. - Titre de l’axe Y
  7. - Données de la légende
  8. - Valeur minimum de l’axe Y
  9. - Valeur maximum de l’axe Y
  10. - Nombre d’intervalles de l’axe Y
  11. - Arrondir les valeurs de l’axe Y à n prés
  12. - Origine de l’axe Y

Ces zones permettront de récupérer des informations du spool et de les utiliser dans le graphique.

IMPORTANT :
Les zones de type graphique doivent avoir le même nom que le graphique auquel elles sont reliées.

Histogrammes superposés

Pour obtenir ce genre de graphique, il est nécessaire de superposer plusieurs graphiques :

Graph5.png

Il suffit de jouer sur l’espacement en pourcentage Gauche et Droite :

Graph6.png

Par défaut, une barre d’un histogramme prend toute la largeur disponible (100%), mais en modifiant ces paramètres, il est possible de réduire la largeur de la barre ainsi que sa position en lui apportant un écart différent à droite et à gauche.

Il suffit ensuite de superposer plusieurs graphiques avec divers paramétrages d’espacement pour obtenir le rendu souhaité :

Graph7.png

Ici, quatre graphiques superposés donnant un aspect 3D.

Exemple

Graph8.png

+

Graph9.png

=

Graph5.png

Positionnement dynamique du graphique

Un graphique est considéré comme une zone fixe, il est donc impossible de le placer dynamiquement sur la page en fonction des zones se trouvant avant lui.

Cependant, on peut jouer autour de cette règle grâce à des conditions.

Avec un spool PAG/TXT

Graph11.png
Graph12.png
Graph13.png

Voici un exemple simple de spool paginé qui contient des données à utiliser dans un camembert. Il faut mettre des conditions d’apparitions pour que le graphique n’apparaisse que si les lignes sont à certaines valeurs.

Ensuite il faut dupliquer le graphique. Par exemple, on va créer 15 nouveaux graphiques avec les même paramètres, mais chacun décalé de 1cm vers le bas de plus que le précèdent. Il est important d’incrémenter les conditions, sinon la zone ne va se baser que sur les mêmes lignes.

Graph14.png
Graph15.png

Après duplication, on obtient ceci, chaque graphique est décalé de plus en plus vers le bas et vérifie des lignes différentes dans le spool.

Graph16.png

Première image : Les données commencent ligne 12. Seconde image : les données commencent ligne 22.

Graph17.png
Graph18.png

Le graphique a donc changé de position selon la position de ses données dans le spool.

C’est la seule façon de positionner une zone fixe de façon pseudo-dynamique, mais une évolution future d’ONYX devrait permettre de fournir une solution plus simple et adaptée.

Avec un spool XML

Le meilleur moyen de rendre la position d’un graphique dynamique avec un spool XML et de rajouter un field dans le fichier d’entrée contenant le nombre de zones présentes avant le graphique, car on ne peut pas se baser sur le nombre de ligne ou toutes autres informations provenant du spool car le graphique n’en fait pas parti.

Par exemple : Le field “BEFORECAM” indique combine de zones sont présentes avant le camembert, pour l’exemple, sa valeur est de 1.

Graph19.png

Voici la condition sur le premier graphique :

Graph20.png
Graph21.png


On peut utiliser le bouton dupliquer, mais il faut changer la valeur manuellement car ce n’est pas une ligne, donc l’incrémentation ne changera rien.

Le premier graphique n’apparait que si la valeur est égale à 1, le deuxième si c’est 2, etc…

Le problème de cette solution, c’est qu’elle demande une modification du potentiel Connect qui génère le fichier XML pour rajouter le champ, et lui attribuer une valeur en fonction du contenu des fields précédents.

La méthode XML est plus risqué car on ne connait pas le nombre de ligne présent dans les champs XML précédant le camembert, il faudrait donc rajouter beaucoup plus de graphique, ou faire plusieurs code-lettre pour s’adapter en fonctions des différents blocs.