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 de décalage à l'ajout d'une légende


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut [plotyy] Problème de décalage à l'ajout d'une légende
    bonjour,

    J'ai un soucis avec plotyy et la legend.

    J'aimerai que ma legend soit en dehors du graphique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    legend([H1,H2],'legend_title1','legend_title2',-1)
    mais ca fout en l'air mon graphique.

    Merci d'avance de votre aide.

  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
    Voici la solution avec l'exemple de la documentation : How do I place a legend on a plot produced from the plotyy command?

    En fait, LEGEND diminue la taille de l'objet Axes dont il dépend et laisse donc l'autre à sa taille initiale... d'où le décalage. Il suffit donc de rectifier la taille du second Axes après l'appel à la fonction LEGEND :
    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
     % Create the plotyy figure. The handle to the first line is h1 and the handle
    % to the second line is h2.
     
    x = 1:10;
    y = 10:-1:1;
    [ax,h1,h2] = plotyy(x,x,x,y);
     
    % Make the second axes current (the axes with a color of 'none') so that both lines
    % are visible
     
    axes(ax(2))
     
    %Create the legend and explicitly state the handles to each line
     
    [legh, objh] = legend([h1 h2],'str1', 'str2',-1);
     
    set(ax(2),'position',get(ax(1),'position'))

  3. #3
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    t'as essayé cette solution?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    merci pour votre aide mais ca marche pas.

    quand je fais le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(ax(2),'position',get(ax(1),'position'))
    ca recale bien mes axes mais de maniere temporaire. C'est à dire que si je redimensionne mon graphe ou que je l'enregistre alors les axes sont plus allignés.

  5. #5
    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
    A chaque fois que tu redimensionne l'objet Figure, tu dois taper cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(ax(2),'position',get(ax(1),'position'))

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    J'ai bien compris le soucis mais le truc c'est que deriere je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    eval(['print ' outputdirectory '/image.jpg -djpeg']);
    et lui il me re-bouge mon axe.

  7. #7
    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
    Citation Envoyé par xduris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(['print ' outputdirectory '/image.jpg -djpeg']);
    Pas besoin de EVAL ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(gcf,fullfile(outputdirectory, 'image.jpg'),'-djpeg')
    Ceci ne corrige pas le problème de décalage... et je n'ai pas plus d'idée, désolé.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/09/2014, 12h02
  2. problème lors de l'ajout d'une contrainte
    Par belgariel dans le forum SQL
    Réponses: 4
    Dernier message: 04/11/2009, 10h17
  3. [XL-2003] Problème de décalage des colonnes dans une listbox
    Par -Naek- dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/05/2009, 20h06
  4. Problème lors de l'ajout d'une webreference
    Par sailor lvcv dans le forum Services Web
    Réponses: 1
    Dernier message: 01/10/2008, 11h57
  5. Réponses: 1
    Dernier message: 12/09/2008, 16h06

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