Plot : Tutoriel graphique à plusieurs axes

From FreeCAD Documentation
Revision as of 21:18, 5 December 2014 by Renatorivo (talk | contribs) (Created page with "La première chose que vous trouverez dans l'outil, {{KEY|16px|text-top=Ajouter, effacer ou éditer les axes Plot|link=Plot_Axes/fr [[Plot_Axes/fr|Plot...")

Avant de commencer ce didacticiel, lisez le Tutoriel de base. Dans ce tutoriel, vous apprendrez comment créer, et, modifier un tracé multi-axes.

Ici, vous en apprendrez plus sur le module Plot.

exemple Multiaxes Plot
exemple Multiaxes Plot
exemple Plot Multiaxes.

Dans l'image précédente, vous pouvez avoir une idée du résultat que l'on peut obtenir.

Dans ce tutoriel, vous apprendrez :

  • Comment créer un multiaxes Plot à partir de la Console Python.
  • Comment faire pour modifier les propriétés des axes.
  • Comment contrôler la grille/légende, lorsque plusieurs axes sont présent.
  • Comment faire pour modifier des étiquettes (labels), des titres, et, des positions des légendes.

Traceur de données

Comme nous l'avons fait dans le tutoriel, nous utiliserons la console Python intégrée, ou des macros, afin de tracer les données, avec la différence, que dans ce cas nous tracerons les données dans deux axes différents.

Création de données Plot

Dans cet exemple, nous allons tracer 3 fonctions, deux, sont celles utilisées dans le Tutoriel de base, et, un polynôme.

Le problème est que, un polynôme, aura besoin de nouveaux axes, la raison est, la variation de la gamme, qui est différente de toutes les autres.

Les commandes suivantes, vont nous créer des tableaux de données :

 import math
 p = range(0,1001)
 x = [2.0*xx/1000.0 for xx in p]
 y = [xx**2.0 for xx in x]
 t = [tt/1000.0 for tt in p]
 s = [math.sin(math.pi*2.0*tt) for tt in t]
 c = [math.cos(math.pi*2.0*tt) for tt in t]

Comme x passe de 0 à 2, la fonction y, a une valeur maximale de 4, donc, si nous essayons de tracer cette fonction avec des formules trigonométrique, au moins une fonction sera tronquée, ou mal ajustée, alors nous aurons besoin d'un Plot multi-axes.

La fonction Plot multi-axes de FreeCAD, est orienté de manière à obtenir un Plot à axes multiples, pour ne pas obtenir de multiples combinaisons dans le même document.

Fonction ajoutant de nouveaux axes de dessin

Nous allons exécuter une fonction polynomiale à axes principaux. Si tous vos axes ont la même taille alors, il n'est pas pertinent que la fonction soit mesurées dans les axes, mais il faut que votre Plot aie des axes de dimensions différentes (comme dans cet exemple), les axes principaux doivent être plus grand (car ces axes ont un fond blanc).

Pour ce faire, il suffit de lancer une commande :

 import Plot
 Plot.plot(x,y,r"$x^2$")

Dans cet exemple, nous transmettons directement l'étiquette (label) de la série pour la légende. Notez que la chaîne d'étiquettes, a le préfixe r, afin d'éviter que Python ne tente d'interpréter les caractères spéciaux (symbole \ qui est fréquemment utilisé dans la syntaxe LaTeX).

Maintenant nous pouvons tracer des fonctions trigonométriques, mais avant, créez de nouveaux axes. Dans FreeCAD Plot module lorsque vous créez de nouveaux axes, ces axes sont sélectionnés comme actifs, donc, de nouveaux Plots, seront associés à ces axes.

 Plot.addNewAxes()
 Plot.plot(t,s,r"$\sin\left( 2 \pi t \right)$")
 Plot.plot(t,c,r"$\cos\left( 2 \pi t \right)$")

Comme vous pouvez le voir Plot est devenu fou, avec axes qui pointes, et, qui s'empiètent, courbes de même couleur, etc.. .

Maintenant nous avons besoin d'utiliser FreeCAD Plot module, avec la complexité de ce graphique.

Configurer Plot

Configurer les axes

La fonction FreeCAD Plot module fournit un outil, pour modifier les propriétés de chacun des axes.

Axes configuration tool icon
Axes configuration tool icon
Axes configuration tool icon.

La première chose que vous trouverez dans l'outil, text-top=Ajouter, effacer ou éditer les axes Plot Plot_Axes, est le sélecteur d'axes actif. Pour l'instant, nous allons travailler sur l'ensemble des axes 1, la dernière chose que nous générons

Puisque les axes actifs sont les derniers, les axes actifs sont placés en premier.

L'outil axes, comme l'outil text-top=Éditer les labels Plot_Labels, permettent de définir les axes actifs, et, permettent de tracer plus de données dans l'axe que vous souhaitez (y compris ajouter/supprimer des axes). Pour l'instant, nous allons travailler sur les axes sélectionnés, et, qui sont associés aux fonctions trigonométriques.

In the dimensions sliders, we will move left horizontal and bottom vertical sliders (try to emulate example) in order to reduce axes size. Then we can set the axes alignement, changing it to top and right, and setting and small offset of two units.

Configuring series

Set series properties as we did in previous tutorial.

Showing grid and legend

Grid and legend is shown and hide with the same tools that used in previous tutorial, but in this case the behaviour is a little bit different due to the presence of two different axes.

Regarding grid lines, you can show lines for each axes set, for example, if you try to show grid now you will show only the grid of the trigonometrical functions, so in order to show the grid of polynomial function plot you needs to change active axes to 0 (using axes configuration tool) before using grid tool another time (Is possible that you need to press two times the tool).

Regarding legend, the legend will be the same for both axes, so you can choose the axes that you want in order to show the legend, but is strongly recommended to use the biggest ones (0 in this example) because position will be refered to this axes coordinates. If you show the legend you can see that is really bad placed, we will fix this problem later.

Setting axes labels

You can set axes labels with same tool used in previous tutorial, with the difference that now you have more axes. Since axes labels is ussually set as one per axis, is not a significant difference, but FreeCAD Plot module allow you to set a title by axes too. In this case we only wants to set title to main axes, so set:

Axes 0:

  • Title = Multiaxes example
  • X Label = $x$
  • Y Label = $\mathrm{f} \left( x \right)$

Axes 1:

  • X Label = $t$
  • Y Label = $\mathrm{f} \left( t \right)$

Set also 20 to fontsize for all but title, that uses a fontsize of 24. As happens with legend, title is bad placed, interseting with second axes set, so we need to solve both problems.

Setting elements position

FreeCAD Plot module provides a tool in order to set the position of several plot elements, as titles, labels or legend.

Position editor icon
Position editor icon
Position editor icon.

When you run the tool you see a list with all the editable elements. Title elements, as well as legend, can be moved in both directions, since axes labels can be moved only on the axes direction. Select title of axes 0 and move it to (0.24,1.01), then select legend and move it to a better position. You can increase legend labels fontsize too.

Saving plot

Now you can save your work. See previous tutorial if you don't remeber how to do it.