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

Interfaces Graphiques Discussion :

Reseter un axe comprenant des subplots


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut Reseter un axe comprenant des subplots
    Bonsoir,

    Alors voici mon problème. A l'aide de guide j'ai créé un axe.

    Sur cet axe je fais des subplot pour afficher plusieurs images.

    Quand je souhaite effacer toutes les images présentes sur mon axe, j'utilise: cla(handles.axesImages);

    Mais cela ne marche pas, l'axe ne semble plus exister.

    Comment effacer alors, d'un seul coup, toutes mes images présentes (dans mon axesImages) ?

    Merci pour vos futures réponses !!!

  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
    Citation Envoyé par Mikel44 Voir le message
    Mais cela ne marche pas, l'axe ne semble plus exister.
    Pourrais-tu être plus précis ?

    MATLAB renvoie-t-il un message d'erreur ?
    Peux-tu nous montrer ton code ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut
    Quand je souhaite faire le cla, il me sort ça comme erreur:

    ??? Error using ==> clo at 41
    Bad handle

    Error in ==> cla at 29
    clo(ax, extra{:});

    Error in ==> IHM>pushbuttonApply_Callback at 188
    cla(handles.axesImages);

    J'ai une fonction qui permet des images.
    Au premier appel de la fonction, cela fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    axes(handles.axesImages);
     
        NbLignes = ceil(d(1)/4);
     
        for i = 1 : d(1)
            im1 = seq(kF(i)).cdata;
            subplot(NbLignes,4,i), imshow(im1);
            xlabel(strcat('Frame',num2str(kF(i))));
        end

    Au second appel de la fonction, je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cla(handles.axesImages);
    pour effacer mon axe. C'est là que vient le problème.

  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
    La fonciton SUBPLOT crée des objets Axes.

    Donc dans ton code, tu crées des objets Axes à chque fois que tu rentre dans la boucle, les anciens sont donc supprimés.

    Je ne suis pas sûr de tout comprendre mais je ferais plutôt ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        NbLignes = ceil(d(1)/4);
     
        for i = 1 : d(1)
            im1 = seq(kF(i)).cdata;
            imshow(im1,'parent',handles.axesImages(i));
            xlabel(strcat('Frame',num2str(kF(i))));
        end
    Ou quelque chose de similaire suivant la nature de handles.axesImages dans ton code...

    D'ailleurs que renvoie ceci placé au début du morceau de code que tu nous montre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    whos handles.axesImages

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut
    Merci de ton aide DUT.

    Alors, en fait il n'y a rien dans mon axesImages au début.
    Je l'ai créé sur GUIDE, et il est donc vide.
    Je le remplis pour la première fois de plusieurs images à l'aide de SUBPLOT.

    C'est à ce moment là que les axes nouvellement créés détruisent mon axesImages. Snif.

    Le problème c'est que par la suite, j'essaie d'effacer ce que j'ai dans axesImages (qui n'existe plus que dans mon esprit). C'est à dire les différentes images générées par les SUBPLOT.

    Et par la suite, je voulais réexecuter mon code, pour de nouveaux faire des SUBPLOTS avec des nouvelles images (et un nombre d'images différents).


    Je ne sais pas si c'est plus clair ?

    Si quelqu'un a une idée sur comment contourner le problème.

    J'ai déjà essayé la solution:
    Quand je souhaite "actualiser" mon axesImages:
    - Supprimer le panel dans lequel se trouve mon axesImages
    - Et le recréer ensuite, avec axesImages, ... Mais il y a un problème sur les handles.

Discussions similaires

  1. [SimpleXML] Charger un fichier XML comprenant des espaces de nom
    Par nadiaflamingenierie dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 16/01/2008, 10h30
  2. Réponses: 6
    Dernier message: 25/06/2007, 11h00
  3. Réponses: 6
    Dernier message: 14/04/2007, 14h54
  4. [PHP-JS] bouton reset ne supprimant pas des champs avec value
    Par SegmentationFault dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2006, 14h52
  5. Chart mettre un axe avec des dates
    Par rvzip64 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2005, 11h36

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