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

size of figures

 

manfred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2008, 18:13     Titel: size of figures
  Antworten mit Zitat      
Hallo,

folgendes funktioniert bei mir irgendwie nicht:
ich möchte die Größe des figure-Fensters festlegen. Und darin wiederum Ort und Größe der Subplots:

Code:
figure3 = figure('PaperSize',[40.98 29.68]);

subplot(121);
axes('Position',[0.18 0.07548 0.3347 0.7699]);
plot1 = plot(...);

legend1 = legend('...');
set(legend1,'Position',[0.02593 0.6664 0.1207 0.1847]);

subplot(122);
axes('Position',[0.5703 0.07548 0.3347 0.7699]);
plot2 = plot(...);


Das ganze soll schließlich auf viele weitere figures angewendet werden. Seltsamerweise nehmen die Figure-Fenster aber IMMER WIEDER die Standard (Ausgangs-) Größe an. Aus irgendeinem Grund scheinen die figure und axes Befehle hier nicht angewendet zu werden.

Kann mir jemand sagen, wie ich einfach die Größe des Fensters festsetzen kann?

Vielen Dank !!

Edit by Bijick: Code-Umgebung repariert.


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2008, 18:22     Titel:
  Antworten mit Zitat      
Hallo,

bei mir funktioniert es soweit. Allerdings werden durch die Verwendung von "subplot" zusätzliche, leere Achsen gezeichnet. Deine Vorgehensweise ist davon abgesehen eigentlich richtig. Am besten weist du den Achsen noch irgendwelche Handles zu, damit du sie später auch noch ansprechen kannst.

EDIT: Jetzt verstehe ich was du meinst Smile Die Eigenschaft, um die Größe eines Figures zu verändern, ist ebenfalls "Position". PaperSize verändert nur die Größe für den Ausdruck. Versuch mal folgendes:
Code:
scr_size = get(0,'ScreenSize');
figure1 = figure('Position',scr_size(1,:));


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
manfred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2008, 18:25     Titel:
  Antworten mit Zitat      
Vielleicht sollte ich die Frage nochmal einfacher formulieren:

wie kann man die Größe und Position von Figures (bzw. Plots) festlegen.

Meine Idee war mit figure(...) bzw. axes(...).
Aber irgendwie klappt das nicht.



Danke nochmal
 
manfred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2008, 18:33     Titel:
  Antworten mit Zitat      
Stimmt, danke (PS: da hatten wir wohl eben gleichzeitig geschrieben).

Jetzt wird endlich immerhin mal die Größe des Fensters verändert. Aber wie bekomme ich noch die gewünschte Größe hin (statt komplette Bildschirmgröße).
Und - fast noch wichtiger:
wie bekomme ich die leeren Achsen weg. Die stören sehr im Hintergrund.
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 21.11.2008, 19:48     Titel:
  Antworten mit Zitat      
Hallo manfred,

Du kannst die Größe der figure so angeben:

Code:
figure3 = figure('Position',[linkeSeite,untereSeite,Breite,Hoehe])


Die leeren Achsen entstehen wohl durch die axes-Befehle. So machst Du sie unsichtbar:

Code:
ax1 = axes('Position',[0.18 0.07548 0.3347 0.7699]);
set(ax1,'Visible','off')


Übrigens: Wenn Du die Positionen für die axes exakt angibst, kannst Du den subplot-Befehl weglassen.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
manfred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2008, 23:50     Titel:
  Antworten mit Zitat      
Danke nochmal. Aber mit dem 'size' habe ich noch immer meine Probleme.
Wie kann ich in dem Zusammenhang noch die Units für die Positionierung verstellen? (Mit der Matlab-Hilfe bin ich nicht sehr weit gekommen)
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2008, 12:23     Titel:
  Antworten mit Zitat      
Hallo,

Code:
figure('Units','normalized','Position',[0.25 0 0.5 0.2]);
erzeugt dir eine leere Figure, die bei [x,y] = [25%,0%] startet und [50%,20%] der Bildschirmgröße bedeckt.

Die leeren Achsen entstehen (wie eigentlich schon erwähnt) durch
Code:
Subplot erstellt neue Achsen und positioniert diese optimal. Da du deine Achsen ja per Hand definierst, benötigst du subplot nicht.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
manfred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2008, 16:42     Titel:
  Antworten mit Zitat      
Danke. Damit sind die Figures endlich positioniert und von der Größe angepasst.
 
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.