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 :

2 axes ordonnées et 3 courbes [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 15
    Points : 11
    Points
    11
    Par défaut 2 axes ordonnées et 3 courbes
    Bonjour à tous,

    Je viens une nouvelle fois faire appel à l'aide des internautes...
    J'essaie de tracer un graph avec deux axes d'ordonnées différents et 3 courbes.
    J'arrive à avoir les deux axes grâce à "plotyy" mais je ne parviens pas à mettre les trois courbes.

    J'ai X1, Y1, X2, Y2 que je voudrais faire correspondre au premier axe, et X3, Y3 que je voudrais faire correspondre au deuxième axe.

    Le code suivant ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plotyy(X1, Y1, X2, Y2, X3, Y3) ;
    J'ai ensuite essayé de rassembler X1, Y1, X2, Y2 sous une variable pour n'avoir que deux X et deux Y dans la fonction plotyy mais sans succès, je me suis basé sur l'aide matlab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %   PLOTYY(X1,Y1,X2,Y2,FUN1,FUN2) uses FUN1(X1,Y1) to plot the data for
    %   the left axes and FUN2(X2,Y2) to plot the data for the right axes.
    Enfin, pour contrôler les échelles des axes en ordonnées, l'utilisation de ylim1 et ylim2 peut fonctionnera-t-elle?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    PLOTYY crée en fait 2 axes sur ta figure donc finalement le fonctionnement est presque le même qu'avec un PLOT classique sauf qu'il faut récupérer le handles du bon axe pour tracer ta courbe (tu peux par exemple utiliser FINDOBJ pour cela).

    Bonne journée,
    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci.
    Mais si le fonctionnement est presque le même que plot, pourquoi je ne peux pas mettre trois intervalles de x et trois intervalles de y?

    Puis-je m'en sortir en utilisant quelque chose de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [AX,H1,H2] = plotyy(...)
    C'est très probablement une question de syntaxe mais je ne trouve pas dans l'aide comment affecter deux courbes à un axe et la troisième courbe à l'autre...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bon j'obtiens quelque chose en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plotyy(X1, Y1, X3, Y3) ;
    hold on
    plot(X2, Y2) ;
    hold off
    J'essaie maintenant de régler l'échelle du deuxième axe des ordonnées...

  5. #5
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Normalement tu devrais y arriver en faisant quelquechose comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    % Création des axes et récupération des handles dans la variable Ax
    [Ax,H1,H2] = plotyy(X1, Y1, X3, Y3) ;
     
    % Trace les données X2,Y2 sur le deuxième axe
    plot(Ax(2),X2, Y2) ;
     
    % Modifie les propriétés du premier axe
    set(Ax(1),'XLim', [0,1]);
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci pour les set, c'est ce qu'il me fallait, problème résolu.

    Bonne journée.

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

Discussions similaires

  1. [Débutant] comment déplacer l'axe des ordonnées dans une courbe
    Par khalid_info dans le forum MATLAB
    Réponses: 3
    Dernier message: 25/12/2012, 13h30
  2. Double axes des ordonnées avec plusieurs courbes
    Par zebino dans le forum MATLAB
    Réponses: 10
    Dernier message: 16/11/2012, 20h22
  3. fusionner Axes Ordonnées Graphique
    Par dorothée F dans le forum BIRT
    Réponses: 0
    Dernier message: 03/03/2010, 09h23
  4. récupérer l'ordonnée d'une courbe interpolée
    Par thierryyyyyyy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/07/2008, 18h32
  5. aide 2 axes ordonnées pour 2 axes abscisses
    Par bob-47 dans le forum Excel
    Réponses: 3
    Dernier message: 10/07/2007, 02h29

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