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 :

Les propriétés de mes objets axes disparaissent à la mise à jour des données acquises sur carte NI [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 46
    Points
    46
    Par défaut Les propriétés de mes objets axes disparaissent à la mise à jour des données acquises sur carte NI
    Bonjour à tous,
    J'ai créé une petite interface graphique matlab permettant l’acquisition de mes données analogiques via ma carte NI.
    je n'utilise pas GUIDE.

    ces données analogiques sont a afficher sur 1 premier graphe, la FFT sur un second, et le spectrogramme sur un 3e graphe.

    J'ai déclaré mes 3 objets axes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    time_plot = axes ('Units','pixels','Position',[ ... ]);
    freq_plot = axes (/Mes propriétés/);
    spectrogram_plot = axes (/Mes propriétés/);
    J'initialise quelques paramètres que je ne réussi pas a initialiser à la création de l'objet Axes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    time_plot.Title.String = 'Signal Analogique';
    time_plot.XLabel.String = 'Temps (s)';
    time_plot.YLabel.String = 'Amplitude (V)';
    (je pensais pouvoir donner un titre à mon graph dans l'initialisation genre axes('Title','monTitre'...); , mais cela semble pas possible selon l'aide matlab) ?


    j’acquiers mes données via startbackground() sur l'appui d'un bouton START, un listener est déclenché dès que de la donnée est dispo et appelle un callback :
    Ce callback appelle mes fonctions d'affichage de données, le graph s'affiche, mais je perds le nom de les axes et titre si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function time_display(source,eventdata)
    plot(time_plot, eventdata.Data);
    end
    Je suppose que réappeler plot sur un axe écrase les paramètres fixés ?
    Selon les aides en ligne, la fonction set() est plus appropriée, mais quel paramètre dois-je mettre à jour ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(time_plot, 'Userdata', eventdata.Data);
    ne fonctionne pas ?

    Je vous remercie

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

    Citation Envoyé par Waldoo Voir le message
    (je pensais pouvoir donner un titre à mon graph dans l'initialisation genre axes('Title','monTitre'...); , mais cela semble pas possible selon l'aide matlab) ?
    C'est possible, mais pas aussi direct. Cette propriété contient l'objet Text qui affiche le titre, et non simplement une chaine. C'est donc plutôt quelque chose comme : axes('Title', text(.., 'monTitre'),..);, mais mieux vaut laisser la fonction title régler correctement ses propriétés.

    Pour conserver les légendes et titres, voir la FAQ Pourquoi l'identifiant ('Tag') de mon objet Axes a-t-il disparu après un tracé ?
    Pour la mise à jour des tracés, ce sont les propriétés des enfants (Line ici) de l'axe qu'il faut regarder, et plus particulièrement 'XData'/'YData'. (Un exemple ici.)
    Dernière modification par Invité ; 29/09/2022 à 22h03.

  3. #3
    Membre du Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Bonjour,
    avec un peu de retard .. Merci Winjerome !
    Voilà le code que j'ai mis après l'initialisation de mes axes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(time_plot, 'Nextplot', 'replaceChildren')

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

Discussions similaires

  1. mise à jour des données d'un objet
    Par Atsibat dans le forum WinDev
    Réponses: 1
    Dernier message: 06/09/2012, 14h18
  2. Lister les propriétés d'un objet
    Par DWade dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/10/2006, 12h09
  3. [Zope] Changer les propriétés d'un objet
    Par senacle dans le forum Zope
    Réponses: 1
    Dernier message: 27/09/2006, 11h32
  4. Réponses: 1
    Dernier message: 20/02/2006, 10h59
  5. mise à jour des données toutes les semaines...
    Par Toff !!!!! dans le forum Access
    Réponses: 20
    Dernier message: 22/12/2005, 11h38

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