WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Dynamischer Plot mit Drop Down

 

Lokdog
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 04.07.2017, 09:37     Titel: Dynamischer Plot mit Drop Down
  Antworten mit Zitat      
Hallo zusammen,

Ich erstelle mit meinem Skript 4 Plots, die alle sauber untereinander stehen. Momentan gebe ich die Daten für die Plots noch händisch ein.
Ich habe nun neben jeden Plot ein Drop Down Menu erstellt, das alle Signalnamen enthält. Es gibt auch einen struct, der zu den Signalnamen, die nötigen Daten liefert.

Nun möchte ich mein Skript soweit dynamischer machen, das sobald man ein anderes Signal in dem Drop-Down Menu auswählt, sich der nebenstehende Plot sofort ändert, ohne das ich auf einen weiteren Knopf drücken muss.

Ist das möglich?

Viele Grüße,
Lokdog
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.07.2017, 15:45     Titel: Re: Dynamischer Plot mit Drop Down
  Antworten mit Zitat      
Hallo Lokdog,

Ja, das ist möglich.
Speichere beim Erstellen des Fensters die Daten in an ApplicationData, entweder mit setappdata oder guidata . Dann erstelle einen Callback für die Menüs. Spätestens hier wird es sinnvoll, eine Funktion statt eines Skripts zu verwenden.

In dem Callback kannst Du dann per getappdata or guidata die Daten wieder erhalten, den jeweils ausgesuchen Menü-Punkt bestimmen und die Daten zeichen lassen.

Probiere es mal aus und stelle eine konkrete Frage, wenn Probleme auftauchen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Lokdog
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 18.07.2017, 07:01     Titel:
  Antworten mit Zitat      
Hallo Jan,

Danke erst einmal für deine Antwort. Ich habe es leider erst heute geschafft, mit meinem Problem weiter zu machen.

Nun habe ich aber folgendes Problem. Ich Gehe also nach folgendem Code in meine Schleife und bastele mir somit mein Fenster mit meinen Plots.

Code:
       for jj =1:1:handles.Anzahlplots
        datset      = datsetc(j);
        it_offs     = find(D(datset).xinputrod_force > 50,1 ,'first');
        t_plot      = D(datset).q_T0-D(datset).q_T0(it_offs);
       
        subgroup1 = uipanel('Parent', figure(100), 'Units', 'normal', 'Position', [0 (4-jj)/4 1 1/4]);
        subgroup1_plotbox = uipanel('Parent', subgroup1, 'Units', 'normal', 'Position', [0 .1 1 .9]);
        subgroup1_axes = axes('Parent', subgroup1_plotbox);
        subgroup1_controls = uipanel('Parent', subgroup1, 'Units', 'normal', 'Position', [0 0 1 .1]);
        subgroup1_popup = uicontrol('Parent', subgroup1_controls, 'Style', 'Popup',...
           'String', (handles.X2{1,1}.X2),...
           'Position', [0.01 0.5 100 50],...
           'Callback', @setmap);    
        plot(t_plot, D(datset).xpMC1,'Parent', subgroup1_axes, 'Color',mycmap(j,:),'LineWidth',2),
            hold on, grid on, xlabel('time [s]')
            ylabel('pMC1')
            axis(axlim0),  
            ha(jj) = gca;
               

           
        end


Man sieht im Namen des Popup Menus ist ein handlex.X2 mit allen Werten drin, nun möchte ich ja beim Auswählen eines der Werte des handle.X2, mein Plot machen. Wie füge ich nun aber zu jedem handle.X2... einen anderen Datensatz hinzu?

Grüße,
Lokdog
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.