... | ... | @@ -54,7 +54,10 @@ https://matplotlib.org/stable/gallery/misc/zorder_demo.html |
|
|
Les courbes de même nature (eg plot) sont tracées dans l'ordre, donc la première tracée sera placée sous les autres.
|
|
|
Par contre (version 3.7) on remarque que les courbes fill_between sont tracées par dessus les "plot" même si tracées avant. Un réglage par le z-order n'a pas permis de régler le problème.
|
|
|
|
|
|
[animation_desagMG](uploads/30d30b8c62081c6e6ba4136fc0a2ba27/animation_desagMG.gif)
|
|
|
| Problème de superposition| Solution en réglant le z-order des Axes|
|
|
|
| ------ | ------ |
|
|
|
| ![Figure_2membre](uploads/624a4f6d5dd283af0ebc9811bcc3d25e/Figure_2membre.png) | ![DesagMDavecSecondMembre](uploads/20a4964579f2adfc276d4c041340e2bc/DesagMDavecSecondMembre.JPG) |
|
|
|
|
|
|
|
|
|
### astuce : ordre de tracé des Axes et transparence des fonds d'Axes.
|
|
|
La solution trouvée est le modifier le z-order des Axes, et dans le cas présenté ci-dessous les plots d'une part et les fill_between d'autre part sont tracés sur des Axes différents, jumelés par x.
|
... | ... | @@ -66,7 +69,8 @@ La solution trouvée est le modifier le z-order des Axes, et dans le cas présen |
|
|
ax.patch.set_alpha(0) # important, sinon ax masque ax_2m
|
|
|
```
|
|
|
Nous avons résolu le problème en affectant un z-order aux deux Axes pour gérer les superpositions, et en rendant transparent le fond de la "vignette" du dessus qui, sinon, masque totalement la vignette du dessous.
|
|
|
|
|
|
La figure a été munie de widgets, un TextBox et un RangeSlider, pour faciliter l'explication en rendant tous les fill_between transparents sauf pour un mois donné (TextBox) ou sauf pour une fourchette de mois (RangeSlider).
|
|
|
Le code prévoit aussi une fonction avec une boucle sur les mois pour créer une animation où les fill_between sont mis en évidence les uns après les autres, toujours en réglant la transparence.
|
|
|
|
|
|
|
|
|
## Les dates !
|
... | ... | |