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 :

Equivalent de "plotxx", 2 axes X


Sujet :

MATLAB

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut Equivalent de "plotxx", 2 axes X
    Bonjour à tous,

    j'ai fait des recherches, mais je galère encore alors que je suis sûr que c'est pas compliqué

    J'ai donc deux courbes à tracer, avec les mêmes valeurs selon Y (une amplitude de contrainte) mais des valeurs (très) différentes selon X (un nombre de cycles d'utilisation dans un cas, une estimation de la part de "dommages" dû à chaque contrainte pour l'autre cas ). J'ai repéré ce lien:

    http://www.mathworks.de/help/techdoc.../f1-11215.html

    Mais sans succés, en écrivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    plot(x1,y1)
    ax1 = gca;
     
    ax2 = axes('Position',get(ax1,'Position'),...
               'XAxisLocation','top',...
               'YAxisLocation','right',...
               'Color','none',...
               'XColor','k','YColor','k');
     
    plot(x2,y1)
    J'ai que la deuxième courbe de tracée, et plus embêtant encore, mes axes de l'objet "ax2" ne sont ni en haut ni à droite comme indiqué, mais superposés aux autres

    Merci d'avance pour votre aide

    Antoine
    Ma version Matlab:Matlab R2011b

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu n'as pas suivi la documentation à la lettre
    Ils utilisent la fonction line et non plot.

    En effet, le problème vient de plot qui remet à zéro les propriétés précédentes que tu as fixé.
    Si tu ne souhaites pas cet effet, rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        'nextplot','replacechildren',...  % ou 'add', équivalent à hold on

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Bonjour,

    Tu n'as pas suivi la documentation à la lettre
    Oui, j'avoue


    Citation Envoyé par Winjerome Voir le message
    Ils utilisent la fonction line et non plot.
    En effet, le problème vient de plot qui remet à zéro les propriétés précédentes que tu as fixé.
    Si tu ne souhaites pas cet effet, rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        'nextplot','replacechildren',...  % ou 'add', équivalent à hold on
    je teste cela, merci
    Ma version Matlab:Matlab R2011b

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Cela marche parfaitement avec cet ajout, merci beaucoup pour cette aide rapide
    Ma version Matlab:Matlab R2011b

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Tiens, dernière question sur ce thème, si je veux avoir une seule case légende et non 2, c'est faisable?

    J'ai tenté après recherche avec '-DynamicLegend' mais je crois pas que cela fonctionne vu qu'ici j'ai 2 axes et non la légende d'un axe à rafraichir

    Merci

    Antoine

    Edit: voici la solution:
    http://www.mathworks.com/matlabcentral/answers/3380

    Si cela peut aussi dépanner quelqu'un
    Ma version Matlab:Matlab R2011b

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

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