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 :

Sauvegarder et supprimer graphique


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut Sauvegarder et supprimer graphique
    Salut à tous,

    Deux choses:

    Je voudrais sauvegarder un graphique dans un fichier jpeg. J'ai essayé cette ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     saveas(handles.axes88,'veille', 'jpg')
    Sachant que je suis dans interface et que ma courbe se trouve sous l'axe de tag "axes88". Cela me sauvegarde bien quelque chose pas ma courbe! Il me sauvegarde un endroit quelconque de mon GUI.

    Autre chose, je voudrais que cette courbe se détruise au bout d'un certain laps de temps. Ensuite je veux en faire une nouvelle par dessus. Pour la détruire, j'uilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(data.h,'visible','off')
    Mais il dit qu'il ne connait pas "h".

    Voici le code de mon graphique, qui fonctionne:
    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
        axes(handles.axes88);
        h=plot(he1,HLUM,'r-o',he1,HPLUIE,'b-o',he1,HBROUILLARD,'m-o',he1,HVENT,'g-o');
        axis([0 24 0 100]); 
        xlabel('Temps (heure)');
        ylabel('Pourcentage');
        legend('Luminosité','Pluie','Brouillard','Vent');
    .....................................
        he1 = [he11 he1];
        HLUM = [HLUM1 HLUM];
        HPLUIE = [HPLUIE1 HPLUIE];
        HBROUILLARD= [HBROUILLARD1 HBROUILLARD];
        HVENT = [HVENT1 HVENT];
    set(h(1),'XData',he1,'YData',HLUM);
    set(h(2),'XData',he1,'YData',HPLUIE);
    set(h(3),'XData',he1,'YData',HBROUILLARD);
    set(h(4),'XData',he1,'YData',HVENT);
    Quelqu'un pourrait m'aider svp?

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Salut,

    Il y a plusieurs choses qui m´intriguent :

    1. Tu souhaites sauvegarder le graphique handles.axes88 mais d´apres ton programme tu ne plot pas dessus mais sur he1 ??

    2. Saches que si ta figure contient des button des edit text etc tu sauvegarderas ta figure entière et non uniquement ton axe de cette manière,
    jette un coup d´œil à cette discussion :

    http://www.developpez.net/forums/d73...jpg-reste-gui/

    3.
    Autre chose, je voudrais que cette courbe se détruise au bout d'un certain laps de temps. Ensuite je veux en faire une nouvelle par dessus. Pour la détruire, j'utilise:
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(data.h,'visible','off')
    Ce n´est pas de cette manière qu´il faut supprimer le handle de ta courbe mais plutôt avec un clear

    Remarque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    h=plot(he1,HLUM,'r-o',he1,HPLUIE,'b-o',he1,HBROUILLARD,'m-o',he1,HVENT,'g-o');
    L ´ancien handle de ton plot sera a chaque tracé remplacé par le nouveau donc automatiquement remplacé. Si tu veux par contre sauvegarder tes handle il te suffit de les stocker dans un tableau.

    4.
    Mais il dit qu'il ne connait pas "h".
    Il a peut être été déjà détruit, ou il n´a jamais été crée
    Utilise des Breakpoints pour voir vraiment ce qu´il en est
    Mais bon vu ton code je ne vois nul part ou tu sauvegarde h dans ta structure data.

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

    Citation Envoyé par junkie1986 Voir le message
    1. Tu souhaites sauvegarder le graphique handles.axes88 mais d´apres ton programme tu ne plot pas dessus mais sur he1 ??
    Non, he1 sont les données des abscisses, handles.axes88 est bien l'objet Axes dans lequel est effectué le tracé.
    Il y a deux méthodes pour faire cela que je t'avais d'ailleurs détaillées dans ce message.

    Citation Envoyé par junkie1986 Voir le message
    2. Saches que si ta figure contient des button des edit text etc tu sauvegarderas ta figure entière et non uniquement ton axe de cette manière,
    Cela aurait été vrai si Ma29200 avait fourni le handle de l'objet Figure, mais ici (théoriquement) il fourni le handle de l'objet Axes, donc cela ne devrait pas poser de problème.

    Citation Envoyé par junkie1986 Voir le message
    Ce n´est pas de cette manière qu´il faut supprimer le handle de ta courbe mais plutôt avec un clear
    Je confirme que ce n'est pas le bon moyen, mais la destruction se fait avec la fonction delete et non clear :
    Citation Envoyé par junkie1986 Voir le message
    Il a peut être été déjà détruit, ou il n´a jamais été crée
    Utilise des Breakpoints pour voir vraiment ce qu´il en est
    Mais bon vu ton code je ne vois nul part ou tu sauvegarde h dans ta structure data.
    Vérifications effectivement de rigueur

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Salut,

    Cela aurait été vrai si Ma29200 avait fourni le handle de l'objet Figure, mais ici (théoriquement) il fourni le handle de l'objet Axes, donc cela ne devrait pas poser de problème.
    Tu es sur de toi car en ce qui me concernait j´avais beau fournir le handle de mon axe c´était bel et bien la figure qui était sauvegardee

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Non, he1 sont les données des abscisses, handles.axes88 est bien l'objet Axes dans lequel est effectué le tracé.
    Oh le je n´ai pas vu :

    Je confirme que ce n'est pas le bon moyen, mais la destruction se fait avec la fonction delete et non clear
    Le handle contiendra normalement un double et loin de moi l´envie de te contredire mais un clear suffit un delete aurait été par exemple nécessaire si elle voulait supprimer le handle d´une legende.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par junkie1986 Voir le message
    Tu es sur de toi car en ce qui me concernait j´avais beau fournir le handle de mon axe c´était bel et bien la figure qui était sauvegardee
    Exact j'ai confondu avec getframe

    Citation Envoyé par junkie1986 Voir le message
    Le handle contiendra normalement un double et loin de moi l´envie de te contredire mais un clear suffit un delete aurait été par exemple nécessaire si elle voulait supprimer le handle d´une legende.
    Là par contre je campe sur mes positions
    clear ne fait que supprimer la variable contenant le handle, mais ne détruit en aucun cas l'objet associé.

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Pour sauvegarder, j'ai utilisé la méthode : http://www.developpez.net/forums/d73...jpg-reste-gui/

    Pour effacer,j 'ai utiliser la fonction cla(handles.axes88).

    Merci à vous deux!

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

Discussions similaires

  1. [LeafLet] Supprimer graphique élévation profil
    Par jac83 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 07/12/2014, 17h47
  2. [Débutant] Sauvegarde de fenêtre graphique
    Par tchabalabala dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 18/05/2009, 10h03
  3. Syntaxe pour sauvegarder et supprimer sans demande
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/01/2009, 11h48
  4. supprimer graphique s'il existe
    Par petibonohm dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2008, 10h25
  5. [FORMULAIRE] Assistant graphique et sauvegarde
    Par Jahprend dans le forum IHM
    Réponses: 1
    Dernier message: 04/07/2006, 11h03

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