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 :

[plotyy] Problème d'ajustement des limites des Axes


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut [plotyy] Problème d'ajustement des limites des Axes
    Bonjour à tous.

    je cherche à afficher correctement deux types de données sur le même graphe en utilisant la commande plotyy.

    Voici le code correspondant à la partie de visualisation :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    figure(2)
    clf;
    set(gcf, 'color', 'white')
    set(0,'defaultaxesfontname','Arial');
    n=10;
    tx = 0.54;
    ty = 0.084;
    title(['a = ',num2str(Rai),'\delta = ',num2str(delta1*180/pi),'° and \Delta x = ',num2str(dx)])
    subplot(3,1,1)
    k=1;time=round(T(k+1)*100);
     
    [AX,H1,H2]=plotyy(Axx,R(ns:nx,n,k),Axx,U(n,ns:nx,k));
    set(get(AX(1),'Ylabel'),'String','Flow thickness (m)') ;
    set(get(AX(2),'Ylabel'),'String','Velocity (m.s^{-1})') ;
    set(AX(1), 'ylim', [0 .1],'YTick',0:.05:.1,'xlim', [0 xmax]);
    set(AX(2), 'ylim', [0 2],'YTick',0:1:2,'xlim', [0 xmax]);
    set(get(AX(2),'Xlabel'),'String','Distance (m)') ;
    axis equal
    text(tx,ty,['Time: ',num2str(time),' ms.']);
     
    subplot(3,1,2)
    k=4;time=round(T(k+1)*100);
    [AX,H1,H2]=plotyy(Axx,R(ns:nx,n,k),Axx,U(n,ns:nx,k));
    set(get(AX(1),'Ylabel'),'String','Flow thickness (m)') ;
    set(get(AX(2),'Ylabel'),'String','Velocity (m.s^{-1})') ;
    set(AX(1), 'ylim', [0 .1],'YTick',0:.05:.1,'xlim', [0 xmax]);
    set(AX(2), 'ylim', [0      2],'YTick',[0:1:2],   'xlim', [0 xmax]);
    set(get(AX(2),'Xlabel'),'String','Distance (m)') ;
    axis equal
    text(tx,ty,['Time: ',num2str(time),' ms.']);
     
     
    subplot(3,1,3)
    k=10;time=round(T(k+1)*100);
    [AX,H1,H2]=plotyy(Axx,R(ns:nx,n,k),Axx,U(n,ns:nx,k));
    set(get(AX(1),'Ylabel'),'String','Flow thickness (m)') ;
    set(get(AX(2),'Ylabel'),'String','Velocity (m.s^{-1})') ;
    set(get(AX(2),'Xlabel'),'String','Distance (m)') ;
    set(AX(2), 'ylim', [0 2],'YTick',[0:1:2],'xlim', [0 xmax]);
    set(AX(1), 'ylim', [0 .1],'YTick',[0:.05:.1],'xlim', [0 xmax]);
    axis equal
    text(tx,ty,['Time: ',num2str(time),' ms.']);
    Et voici ce que ça donne :




    je n'obtiens pas ce que le code semble demander à savoir de borner l'axe Ax(1) en bleu sur la fig. MatLab ne prend pas en compte les ylim. Du coup, on note un décalage entre le subplot 1 et le subplot 3 de ce même axe.

    J'ai essayé en modifiant l'ordre des commandes mais rien à faire, il ne me borne pas l'axe Ax(1).

    Quelqu'un aurait une idée ?
    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Serait-il possible d'attacher un fichier mat (en le zippant) contenant Axx, R et U ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut
    Alors l'ensemble des données se trouvent ici :

    http://perso.geolnet.net/dev.zip

    Merci pour l'aide !

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Il manque le fichier rho.d dans le répertoire data2

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut
    Ah oui, désolé, mais en fait il ne sert pas dans l'état actuel du code.

    prendre ce code-ci : http://perso.geolnet.net/readanim.m
    qui ne fait pas appel à rho.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    C'est l'appel à "axis equal" qui provoque le décalage.
    Voir l'image attaché du comportement du code sans cette commande.

    Est-ce que cette commande est nécessaire ? Si oui, pourquoi ?
    Images attachées Images attachées  

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

Discussions similaires

  1. Ensemble des réels, des complexes, des entiers naturels
    Par ANOVA dans le forum Mathématiques - Sciences
    Réponses: 5
    Dernier message: 08/10/2009, 12h58
  2. Réponses: 19
    Dernier message: 20/12/2006, 10h15
  3. [MySQL] Utilisation des fonctions des récupérations des données
    Par Konrad Florczak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/10/2006, 15h17
  4. Gestion des majuscules des miniscules des accent
    Par issam16 dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 14h21

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