ONYX - 9.0 - Utilisation - Fonctionnement des graphiques/en

Différence entre versions

De MappingDoc
(Page créée avec « To change the font and style: #- In the chart properties, select the <b>Positioning</b> tab #- Double click on the chart image #- Change the values ​​of the <b>Y Axis... »)
(Page créée avec « ==Number of Y axis intervals== »)
Ligne 113 : Ligne 113 :
 
#- Change the values ​​of the <b>Y Axis Font</b> or <b>X Axis Font</b> tab
 
#- Change the values ​​of the <b>Y Axis Font</b> or <b>X Axis Font</b> tab
  
==Nombre d'intervalles de l'axe Y==
+
 
 +
==Number of Y axis intervals==
  
 
Pour définir le nombre d'intervalles de l'axe Y, vous pouvez soit :
 
Pour définir le nombre d'intervalles de l'axe Y, vous pouvez soit :

Version du 2 janvier 2025 à 10:09

Autres langues :
English • ‎français


ONYX Designer includes a graphics creation module whose operation is explained below.

Create a new graphic

  1. - Click on the Graphic icon on the Variable toolbar.
  2. - Click on the page and drag the mouse to draw the frame where the graphic will be printed.
  3. - Enter a name, a number of zones, and check the type of chart you want to print.


The number of zones to enter is the maximum number of zones that your graph can contain.

Graph1.png


Configure a chart

The graphics allow fairly advanced configuration. You can modify axis titles, number of intervals, maximum values…


For all these parameters, you can either set the values ​​for this graph or retrieve this information from the spool. The information retrieved from the spool will take priority over the values ​​defined “hard” for this graph.


This is useful, for example, in the case where the chart title is not present in all pages of the spool. This amounts to considering the values ​​in the chart as default values. In this case, the graphic type zones must be conditioned on the presence of a value in the spool.


  1. - Chart title
  2. - Title of the axes
  3. - Axis data
  4. - Minimum / maximum values
  5. - Number of Y axis intervals
  6. - Y axis origin
  7. - Round Y axis values
Graph2.png

Graphic type area

These areas allow you to completely configure your graph according to the spool values: titles, legend, axes, etc.


  1. - Chart data
  2. - X axis data
  3. - Y axis data
  4. - Chart title
  5. - X axis title
  6. - Y axis title
  7. - Legend data
  8. - Minimum value of Y axis
  9. - Maximum value of Y axis
  10. - Number of Y axis intervals
  11. - Round to the nearest n in the Y axis
  12. - Y axis origin


Retrieving data field

A chart does not retrieve data from the spool on its own. It uses graphic type areas. This allows you to completely condition data recovery.


To associate zones with a graph, simply give them the same name.


The zones can of course belong to a group, fixed or variable, be conditioned... Font and style information is not used. A Graphic type zone does not print anything on its own.


Retrieve data from the spool as chart data

  1. - Create your zone (positions in the original file, condition, group membership, etc.)
  2. - Name it as the complex graph it depends on
  3. - Select type Graphic
  4. - Choose subtype Chart Data

Configuration

Round Y axis values

To round the Y axis data values, you can either:

  1. - Create a zone of type Graphic / Round the Y axis to the nearest n recovering the value "n" in the spool
  2. - Set value in chart properties


To change the rounding pitch:

  1. - In the chart properties, select the Positioning tab
  2. - Double-click on the image representing the graph
  3. - In the Y Axis tab, change the value

Font and style
The font and style of the axes are defined in the chart properties and not in the chart type boxes. Even if you don't set a label in the chart properties, you must set the font to use.


Axis data

To define the axis data, you must create a Graphic / X axis data (or Y) zone retrieving the values ​​in the spool.


Font and style
The font and style of the data are defined in the chart properties and not in the chart type boxes.


To change the font and style:

  1. - In the chart properties, select the Positioning tab
  2. - Double click on the chart image
  3. - Change the values ​​of the Y Axis Font or X Axis Font tab


Number of Y axis intervals

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.