1Le grapheur
2===========
3
4Le grapheur est un greffon pour le Shell, qui en extrait les nombres venus
5du programme et les affiche comme une courbe. Il peut être utile pour
6observer des données de capteurs en direct venant de périphériques ou même pour analyser
7des données statiques (si vous hésitez à utiliser des outils plus sérieux). Il est inspiré
8du `Mu Python editor <https://codewith.mu/>`__.
9
10Vous pouvez l'ouvrir depuis le menu « Afficher » ou depuis le menu contextuel du Shell.
11
12Par exemple essayez le programme suivant (on peut l'arrêter avec Ctrl+C ou
13avec le bouton Arrêter/Relancer de la barre d'outils) :
14
15.. code::
16
17	from time import sleep
18	from random import randint
19
20	p1 = 0
21	while True:
22	    p1 += randint(-1, 1)
23	    p2 = randint(-10, 10)
24	    print("Marche aléatoire :", p1, " juste aléatoire:", p2)
25	    sleep(0.05)
26
27
28Quand on le lance avec le Grapheur ouvert, on voir un graphique en ligne avec deux courbes qui défilent.
29Chaque colonne du graphique correspond à une ligne dans le Shell.
30La colonne le plus à droite dans le graphique correspond toujours à la ligne visible en bas du Shell,
31même quand on arrête le programme et qu'on se déplace dans le texte du Shell.
32
33Le grapheur commence à tracer des courbes dès qu'il détecte au moins deux lignes consécutives contenant le même motif
34de nombres et de texte d'accompagnement. Les nombres sont représentés sous forme de courbes et le texte d'accompagnement
35devient la légende dans le coin en bas à droite du Grapheur.
36
37
38La vitesse de l'animation
39-------------------------
40
41À moins que vous ne produisiez un nombre fixe de lignes, c'est une bonne idée d'éviter de noyer
42le Shell et le Grapheur sous les données. C'est pourquoi l'exemple ci-dessus
43fait une petite pause (``sleep(0.05)``) avant d'afficher la ligne suivante.
44
45
46Intervalle de l'axe-Y
47---------------------
48
49Le Grapheur tente de détecter un intervalle adapté pour votre courbe sans qu'il soit
50nécessaire de le changer trop souvent. Pour cette raison, il augmente l'intervalle si besoin est, mais ne
51le diminue qu'au début d'une nouvelle série.
52
53Si certaines données extraordinaires rendent l'intervalle trop grand, on peut le rétrécir manuellement
54en attendant que les données trop grande sortent de la figure et en cliquant sur le Grapheur.
55
56Si vous voulez rendre l'intervalle plus grand (ou juste comparer vos valeurs à d'autres),
57il suffit simplement d'inclure une ou des constantes adéquates dans vos lignes de données, p.ex. :
58
59``print(0, measure1, measure2, 100)``.
60