|
|
## C) Atelier 2 : un graphique avec un 2e axe des y ; les objets d'une figure
|
|
|
Cet objectif ne semble pas hyper ambitieux, et vous trouverez des tutos pour réaliser facilement cette figure, et pourtant la syntaxe peut sembler étrange... Nous allons passer par un peu de théorie pour comprendre ce qui se passe et afficher une légende correcte.
|
|
|
|
|
|
### C1) lire le fichier d'un TD de bilan hydrologique avec 4 colonnes : date, T, pluie, Q
|
|
|
On vous a mis plusieurs versions du fichier, qui était initialement un fichier tableur.
|
|
|
On va choisir celui qui est le mieux conditionné pour utiliser cette fois la méthode read_csv de pandas qui va tout lire et bien ranger, y compris les titres de colonne.
|
|
|
|
|
|
Dans le code, on propose (en commentaire) plusieurs manières de décoder les dates.
|
|
|
|
|
|
```python
|
|
|
ligne_dateTPQ = "01/04/2000;9,3;49;8,6"
|
|
|
```
|
|
|
ensuite... vous "splittez" et vous décodez la date avec différentes méthodes.
|
|
|
En particulier, il y a des exercices sur les tuples (notions que l'on reverra plus loin)
|
|
|
|
|
|
```python
|
|
|
|
|
|
jma = "01/04/2000".split('/') # jma est donc une liste de string ['01', '04', '2000']
|
|
|
j, m, a = jma # unpacking : j= '01', m='04', a = '2000'
|
|
|
# on pourrait même écrire directement
|
|
|
j, m, a = "01/04/2000".split('/')
|
|
|
```
|
|
|
|
|
|
### C2) un deuxième axe. Un deuxième quoi ?
|
|
|
On vous a donné du code déjà écrit, comme ce que vous pourriez trouver en ligne.
|
|
|
Ca marche, même si c'est plutôt moche, donc n'hésitez pas à mettre en forme pour vous exercer.
|
|
|
Mais par contre, la syntaxe peut paraître vraiment bizarre.
|
|
|
Pour comprendre, on n'échappera pas à un peu de théorie ; certains sites expliquent très bien la structure des figures, et cela aide vraiment à progresser et à s'approprier les notions.
|
|
|
|
|
|
Voir les diapos.
|
|
|
|
|
|
De retour, on a donc sur ce graphique deux notions importantes et quelques mot-clés intéressants :
|
|
|
* **la notion de subplot** qui permet de définir plusieurs vignettes sur une même figure ; cette architecture est plutôt bien décrite dans les tutoriels (vois aussi gridspec). On insistera ici sur l'argument "sharex=True" ) qui permet de coupler les graphiques : on zoome en même temps sur les deux. (même chose avec "sharey = True".)
|
|
|
* **la notion d'ax** qui est en fait un **système d'axes" ; la méthode un_axe.twinx() permet de créer un autre système d'axes qui partage le même axe des x que un_axe (et idem avec twiny pour l'axe des y). C'est en fait une information moins bien mise en avant, les tutoriels qui l'expliquent bien annoncent en introduction que le nom "ax" est assez mal choisi et prête à confusion... et que l'on peut avoir vraiment des difficultés à assimiler les procédures tant que l'on n'a pas compris ce que l'on manipule. |
|
|
\ No newline at end of file |