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

als subplot in einem bereits vorhandenem figure

 

Dave86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2009, 07:41     Titel: als subplot in einem bereits vorhandenem figure
  Antworten mit Zitat      
Hallo zusammen,

ich habe mal wieder eine Frage. Ich stelle durch Betätigen eines pushbuttons einen Signalverlauf als subplot dar:

Code:

handles.fig1=figure;
subplot(2,2,1:2)
plot(x,y)
 


Jetzt möchte ich durch Betätigung eines RadioButtons eine Fourier Transformation darstellen lassen. Die Darstellung soll im handle "fig1" im Bereiech "subplot(2,2,3:4)" dargestellt werden, irgendwie sowas in der Art:

Code:

handles.fig1=figure;
subplot(2,2,3:4)
stem(x2,y2)
 


Wenn ich dies mache, öffnet er mir ein neues figure. Wie kann ich es jedoch realisieren, dass er mir es im gleichen figure (fig1) als "subplot(2,2,3:4)" darstellt?

Vielen Dank!

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen


Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 04.06.2009, 09:14     Titel:
  Antworten mit Zitat      
Versuchs mal mit:

Code:
figure(handles.fig1)
subplot(2,2,3:4)
stem(x2,y2)
 


Hintergrund: Der figure-Befehl öffnet ein neues Figure, wenn er ohne Parameter(Zeiger) aufgerufen wird. Dieser Zeiger sollte durch den ersten Aufruf in handles.fig1 gespeichert sein und dann beim zweiten Aufruf verwendet werden.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 04.06.2009, 09:15     Titel:
  Antworten mit Zitat      
Moin,

da du den handle der Figure ja schon hast, mach es einfach so:
Code:
subplot(2,2,3:4,'Parent',handles.fig1)
stem(x2,y2)


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2009, 09:41     Titel:
  Antworten mit Zitat      
Maddy hat Folgendes geschrieben:
Versuchs mal mit:

Code:
figure(handles.fig1)
subplot(2,2,3:4)
stem(x2,y2)
 


Hintergrund: Der figure-Befehl öffnet ein neues Figure, wenn er ohne Parameter(Zeiger) aufgerufen wird. Dieser Zeiger sollte durch den ersten Aufruf in handles.fig1 gespeichert sein und dann beim zweiten Aufruf verwendet werden.


Hallo Maddy,

vielen Dank! Hat wunderbar geklappt!

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2009, 10:33     Titel: Zugriff auf subplot
  Antworten mit Zitat      
Welche Frage ich mir noch gestellt hab ist, ob es eine Möglichkeit gibt auf ein subplot zuzugreifen, z.B.:

Code:

figure(handles.fig1);
[b]handles.subplot1[/b]=subplot(2,2,3:4);
stem(x,y);
 


Um sowas geht es mir! Dass ich später z.B. den subplot1 als *.jpg speichern kann. Ich habs mal so ausprobiert, allerdings übernimmt er mir dasnn das komplette "fig1" ins handle...?!

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 04.06.2009, 10:50     Titel:
  Antworten mit Zitat      
Eigentlich stimmt es so. Es müsste dann an deiner Speicherfunktion liegen.

Gruß
Alex

PS: Ich würde als Ausgabeformat ein Vektorgrafikformat wie .eps empfehlen. Wenn es ne Pixelgrafik sein muss, dann wenigstens .png, da dieses verlustfrei skaliert werden kann. Smile
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2009, 10:12     Titel:
  Antworten mit Zitat      
Hallo Alex,

ich habe es jetzt wie folgt gemacht

Code:

x=0:0.001:10;
sine=sin(2*pi*x);
figure
subp1=subplot(2,2,1:2)
plot(x,sine)
saveas(subp1,'Subplot1.jpg')
 


und MatLab speichert mir das gesamte "figure"! Sad

Was mache ich falsch?

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 05.06.2009, 10:22     Titel:
  Antworten mit Zitat      
Moin,

bitte keine Doppelpostings!!!

Das Problem ist folgendes:
Matlab Hilfe zu SAVEAS hat Folgendes geschrieben:
Description

saveas(h,'filename.ext') saves the figure or Simulink block diagram with the handle h to the file filename.ext. The format of the file is determined by the extension, ext. Allowable values for ext are listed in this table.

You can pass the handle of any Handle Graphics object to saveas, which then saves the parent figure to the object you specified should h not be a figure handle. This means that saveas cannot save a subplot without also saving all subplots in its parent figure.


Lösung:
Code:
x=0:0.001:10;
sine=sin(2*pi*x);
figure
subp1=subplot(2,2,1:2)
plot(x,sine)

h = figure('Visible','off');
plot(x,sine);
saveas(h,'Subplot1.jpg');
close(h);


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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.