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

mehrere Plots in einer Figure! darstellen

 

juju
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 18:42     Titel: mehrere Plots in einer Figure! darstellen
  Antworten mit Zitat      
Hallo liebe Forengemeinde,

ich habe eine Funktion geschreiben. Als Input gibt man den Dateinamen an und die Funktion verarbeitet die Datei und soll als Resultat ein Histogramm plotten... nun möchte ich bei einem nächsten Durchlauf der Funktion mit einer anderen Datei, die neuen Plots in der gleichen Figure hinzugefügt haben!! ... bei mir funktioniert das einfach nicht...
kann mir da bitte jemand weiter helfen??

Code:
        figure1 = figure('Color',[1 1 1],'Papertype','A4');
        axes1 = axes('Parent',figure1);
        box on
        hold all;
        xlabel('rel. Signal [%]');
        ylabel('rel. Anzahl der Pixel [%]')
        set(gca,'YMinorTick','on','XMinorTick','on',...
            'XTick',0.94:0.02:1.06,'XLim',[0.94 1.06])
        x=0.9:0.01:1.10;                                  
        [n,cout]=hist(img(Low1:High1,Low2:High2),x,100);  
        nhelp=sum(n,2)/((High1-Low1)*(High2-Low2));
        stairs(axes1,cout,nhelp*100);


dies ist ein Auschnitt aus der Funktion...

Das Problem ist, bei jedem Aufrufen der Funktion wird eine neue Figure angelegt und mit den Plots gefüllt... warum ??

Vielen Dank
VG
Juju
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.02.2011, 18:56     Titel:
  Antworten mit Zitat      
Hallo,

weil in deinem Code steht, das eine neue Figure geöffnet werden soll.
Das wird mit dem Befehl
Code:

bewirkt. Wenn also figure in einer for- oder while-Schleife steht, wird in jeder Iteration eine Figure aufgemacht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
juju
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 19:01     Titel:
  Antworten mit Zitat      
danke für die schnelle Antwort...
das ist soweit klar...

...ich habe nicht erwähnt, dass ich noch mehr plotten möchte, aber eben in einer anderen figure...
außerdem möchte ich figurepropertys wie Farbe und Orientierung ändern können...

wie schaffe ich das ohne den Befehl figure???

die eigenschaften einer Figure sollen die folgenden sein:
Code:
figure('Name','Non-Correction vs. Gain-Correction','Color',[1 1 1],...
        'Papertype','A4','PaperOrientation','Landscape');
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.02.2011, 20:04     Titel:
  Antworten mit Zitat      
Hallo,

da fehlte dann der entscheidende Punkt. Wen du in mehreren Koordinatensystemen plotten willst, solltest du mit Handles arbeiten. Erstellen der Figures:
Code:


Wechseln zu figure f1
Code:

genauso für f2

Wenn du nachträglich die Eigenschaften von figure f1 ändern möchtest:
Code:
set(f1, 'Eigenschaft', 'Wert')

... natürlich genauso für f2.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
juju
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2011, 10:17     Titel:
  Antworten mit Zitat      
nochmal Danke...

um es zusammenzufassen:
Um mehrere Datenfolgen in einem Koordinatensystem darzustellen, sollte man die Figure mit einem Handle versehen und außerhalb! der Funktion bereits initialisieren... Wo und Wann in welche Figure innerhalb der Funktion geplottet wird kann man dann bequem über die Figurehandles bestimmen...

Viele Grüße
Juju
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.