IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

[area]problème de superposition de bande


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut [area]problème de superposition de bande
    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:

    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])
    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.
    Je me demande donc s'il existe un procédé plus simple pour colorier des bandes pour contourner ce problème.

    Merci beaucoup,

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Et si tu utilisais fill?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    figure,hold on
    fill([1 4 4 1],[1 1 2 2],[.8 1 .8]);
    fill([3 6 6 3],[3 3 4 4],[.8 1 .8]);
    non?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut
    merci magelan, c'est exactement ce que je cherche. J'aimerai toutefois quelques clarifications.

    comment tu définis ton vecteur X, égal à [1 4 4 1] et [3 6 6 3]?
    pourquoi c'est symétrique?
    si J'ai une fonction y qui varie en fonction de t, comment la définit par un vecteur?

    merci

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    J'ai juste utilisé la définition :
    fill(X,Y,C)
    X contient les abscisses des sommets du polygones (ici le polygone est un rectangle) et Y contient les ordonnées.

    pourquoi c'est symétrique?
    Ca, c'est juste une coïncidence...

    si J'ai une fonction y qui varie en fonction de t, comment la définit par un vecteur?
    Je n'ai pas bien compris, peux-tu préciser?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut
    c'est bon. J'ai réglé le problème.

    par contre, est ce qu'il y a moyen de choisir la couleur des bords?
    par défaut, on obtient une bordure noire, et c'est genant pour mes courbes.
    y a pas une propriété EdgeColor comme pour la fonction area?

    merci

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    On peut régler les mêmes paramètre que pour la fonction area, donc oui, tu peux modifier edgecolor...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut
    parfait, ca marche, merci beaucoup,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de superposition dans un formulaire
    Par vallica dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 17/01/2007, 16h20
  2. [C#] Problème de superpositions d'éléments avec MDI
    Par Gold.strike dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/07/2006, 16h18
  3. problème de superposition de calques
    Par crescendo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/05/2006, 18h27
  4. [JText Area] problème de scroll
    Par mrshoki dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 13/03/2006, 18h22
  5. Problème de superposition de fenetre
    Par Raton dans le forum MFC
    Réponses: 14
    Dernier message: 28/07/2005, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo