Bonjour,
J'aimerai utiliser la fonction area pour colorier des bandes.
le principe est simple, si je veux dessiner une bande bleue entre deux valeurs y1=1 et y2=2, je colorie la zone entre 0 et y2 en bleu et la zone entre 0 et y1 en blanc. Je ne vois pas d'autre méthode pour créer des bandes colorées sous matlab.
Seulement voilà, le problème se pose quand on veut colorier des bandes qui se superposent, comme dans l'example suivant:
comme vous le remarquez, la première bande ne va pas jusau'à 4. Elle s'arrete à 3 à cause de la couche blanche de la zone avoisinante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 t1=1:4; y11(t1)=1; y12(t1)=2; t2=3:6; y21(t2)=3; y22(t2)=4; whiteColour=[1 1 1]; greenColour=[.8 1 .8]; area(t1,y12(t1),'FaceColor',greenColour,'EdgeColor',greenColour); hold on; area(t1,y11(t1),'FaceColor',whiteColour,'EdgeColor',whiteColour); hold on; area(t2,y22(t2),'FaceColor',greenColour,'EdgeColor',greenColour); hold on; area(t2,y21(t2),'FaceColor',whiteColour,'EdgeColor',whiteColour); axis([0 9 0 6])
Je me demande donc s'il existe un procédé plus simple pour colorier des bandes pour contourner ce problème.
Merci beaucoup,
Partager