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

GUI abfrage - Plot

 

Samoth
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 13.01.16
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 26.04.2016, 12:01     Titel: GUI abfrage - Plot
  Antworten mit Zitat      
Hallo,
ich habe eine GUI geschrieben, die mir Messwerte einliest, diese Statistisch auswertet und über einen Butten plottet.

Das funktioniert super. Nun möchte ich über diesen Plot einen zweiten Plot als Referenz legen können (wenn man das will mittels abfrage).

Allerdings weiß ich nicht wie ich da vorgehen soll. Im Normalfall geht das schließlich über den Befehl hold on. Wie würde man das mit einer abfrage (Referenz? Ja/Nein machen)?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 26.04.2016, 12:21     Titel:
  Antworten mit Zitat      
über questdlg und dann einfach anhand des ergebnisses plotten.
momentan ist mir das problem noch unklar. wenn du weist du du sachen in ein gui axes plottest, was hällt dich dann davon ab zwei sachen zu plotten?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Samoth
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 13.01.16
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 26.04.2016, 12:24     Titel:
  Antworten mit Zitat      
Hallo,
im Moment habe ich das so:
Code:
if spalte_x==8  %normaler Plot für Zeitreihe
                if (str2num(spalte_y)~=48)&&(str2num(spalte_y)~=41)            %Vergleich ~= ungleich
                   plot(daten(:,spalte_x),daten(:,str2double(spalte_y)));
                   
                else    %logaritmiert bei Cn2,CT2
                    semilogy(daten(:,spalte_x),daten(:,str2double(spalte_y)));
                    grid on
                end
            elseif (spalte_x==48)||(spalte_x==41)    %Scatterplot in den anderen Fällen
                if (str2num(spalte_y)==48)||(str2num(spalte_y)==41)
                  plot(log10(daten(:,spalte_x)),log10(daten(:,str2double(spalte_y))),'+');
                else
                  plot(log10(daten(:,spalte_x)),daten(:,str2double(spalte_y)),'+');  
                end
            else
                plot(daten(:,spalte_x),daten(:,str2double(spalte_y)),'+');
            end


Wo bzw. wie bekomme ich das mit dem Hold on rein?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 26.04.2016, 12:59     Titel:
  Antworten mit Zitat      
du kanns zb das axes objekt gleich mit der eigenschaft
Nextplot auf 'add' erzeugen. ich würde außerdem plot immer mit entsprechendem axeshandle aufrufen, grade wenn man mit guis arbeitet.
grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Samoth
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 13.01.16
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 26.04.2016, 13:56     Titel:
  Antworten mit Zitat      
Hallo,
hättest du da ein Beispiel?

Gurß
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 26.04.2016, 14:28     Titel:
  Antworten mit Zitat      
so zb
Code:
S.fh = figure('units','Pixel',...
              'position',[50,50,500,500],...
              'menubar','none',...
              'name','MainGui',...
              'numbertitle','off',...
              'resize','off');
S.ax(1) = axes('units','normal',...
               'position',[0.05,0.05,0.80,0.80]);
x=1:10;
y1=1./x;
y2=1./(x.^2);
S.ph(1)=plot(S.ax(1),x,y1);
choice=questdlg('2. plot ausgeben?','Plot Frage','Ja','Nein','Ja');
switch choice
    case 'Ja'
        S.ax(1).NextPlot='add';
        S.ph(2)=plot(S.ax(1),x,y2);
        S.ax(1).NextPlot='replace';
    case 'Nein'
    otherwise
        error('das sollte nicht passieren')
end

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Samoth
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 13.01.16
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 26.04.2016, 15:26     Titel:
  Antworten mit Zitat      
Danke Smile
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 - 2025 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.