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

Festlegen der Größe des Plot-Feldes in einer Figure

 

teutopixx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2011, 11:33     Titel: Festlegen der Größe des Plot-Feldes in einer Figure
  Antworten mit Zitat      
Hallo zusammen,

ich lasse nach einer Meßwertaufnahme die aufgenommenen Daten ausplotten. Die Figure, in dem geplottet wird, hat definierte Ränder (über get(0,'screensize') usw. habe ich diese vorgegeben.
Nun möchte ich aber innerhalb des Fensters, in dem geplottet wird (also der Figure), festlegen, bis wohin der "plotbare" Bereich geht.
Laut der Matlab-Hilfe heißt der Rahmen, den ich hier begrenzen oder vorgeben möchte: TightInset, Position.

Da ich unter dem Plot noch einige ergänzende Textfelder platzieren möchte, muss z. B. unten mehr Platz sein als links und rechts und oben.

Wie kann ich diesen Rand aber festlegen?!
_________________

----
teutoPIXX
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: 17.05.2011, 12:28     Titel: Re: Festlegen der Größe des Plot-Feldes in einer Figure
  Antworten mit Zitat      
Hallo teutopixx,

Wenn Du die 'Position'-Eigenschaft bereits entdeckt hast, ist dies alles, was Du brauchst.
Code:
AxesH = axes('Units', 'normalized', 'Position', [0, 0, 0.5, 0.5])

Dies setzt das AXES-Objekt in die linke untere Ecke (0, 0) und die Höhe und Breite beträgt jeweils die halbe Größe der FIGURE.

Wenn Du die 'Units' z.B. auf 'pixels' setzt, wird die Position absolut festgelegt. Eine Liste der möglichen Units erhälst Du so (wie üblich):
Code:

Also SET ohne 3. Argument.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2011, 15:46     Titel:
  Antworten mit Zitat      
Also kann ich hier innerhalb des Figure-Fensters nur mit 'normalized'-Werten arbeiten?

Schön wäre es, einfach angeben zu können, dass der plotbare Bereich (inkl. Achsenbeschriftung) z. B. 90 % des Figure-Fensters abdeckt und zentriert in diesem liegt.

Dieses kriege ich m. E. nur mit den 'normalized'-Werten [0.05, 0.175, 0.9, 0.775] hin, oder?
_________________

----
teutoPIXX
Private Nachricht senden Benutzer-Profile anzeigen
 
.seb
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.05.11
Wohnort: Neubrandenburg
Version: 7.7.0 (R2008b)
     Beitrag Verfasst am: 17.05.2011, 16:11     Titel:
  Antworten mit Zitat      
Zitat:

Dieses kriege ich m. E. nur mit den 'normalized'-Werten [0.05, 0.175, 0.9, 0.775] hin, oder?


Kennst du das Interview, bei dem man Helmut Schmidt ständig Fragen stellt, die man konzis mit ja oder nein beantworten kann (und muss)?
Also solche Fragen sind heute definitiv überschätzt in Deutschland.
Aber ich schweife ab.

Jaha mit h !
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: 17.05.2011, 16:17     Titel:
  Antworten mit Zitat      
Hallo teutopixx,

Natürlich sind alle Units-Methoden zueinander equivalent. Du kannst also z.B. die Breite "50% der FIGURE" entweder in 'normalized' Units als 0.5 angeben, oder Dir die Breite der FIGURE in 'pixels' ausgeben lassen, sie durch 2 teilen und als Pixel-Breite der AXES einsetzen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2011, 22:22     Titel:
  Antworten mit Zitat      
Ok, sowas in der Art habe ich mir schon gedacht.
Nur bei der Angabe in Pixeln gebe ich doch nicht im Format [X-Startwert Y-Startwert Breite Höhe] an sondern müsste im Prinzip auch den Endwert angeben oder?

Also bei einer Bildschirmauflösung von 1200 x 900 z. B. würde ich bei X=100 und Y = 200 meine unterste, linke Ecke vom Figure-Fenster haben. Die Breite dieses Figure-Fensters von z. B. 1000 Pixeln und Höhe von 500 würde ich doch dann durch die Angabe [100 200 1100 700] erreichen oder?
Wenn ich dann in diesem Figure einen Graphen haben möchte, der 800 Pixel breit und zentriert ist.... muss ich dann nicht in Pixeln gerechnet innerhalb des Figure-Fensters wieder sagen, dass meine unterste linke Ecke bei X=100 liegt... und die oberste rechte Ecke bei X=900? Bzw. in Prozent (also 'normallized' dann [0.1 0.1 0.8 0.8].

Oder habe ich die Angaben in der Matlab-Hilfe irgendwie falsch verstanden?
_________________

----
teutoPIXX
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: 18.05.2011, 14:16     Titel:
  Antworten mit Zitat      
Hallo teutopixx,

Zitat:
Nur bei der Angabe in Pixeln gebe ich doch nicht im Format [X-Startwert Y-Startwert Breite Höhe] an sondern müsste im Prinzip auch den Endwert angeben oder?

Nein. Die Angabe der Position erfolgt immer als [X-Startwert Y-Startwert Breite Höhe].
Du könntest soetwas einfach probieren, statt erst umständlich das Forum zu fragen:
Code:
FigH = figure('Units', 'normalized', 'Position', [0.1, 0.1, 0.5, 0.6]);
get(FigH, 'Position')
set(FigH, 'Units', 'normalized');
get(FigH, 'Position')


Die Position bezieht sich immer auf den Parent-Container: Eine FIGURE wird relativ zum Bildschirm angegeben (es sei denn, sie ist "docked"), ein AXES relative zur FIGURE, ein LINE oder TEXT relativ zum AXES.
Davon kann man noch abweichen, wenn man UICONTAINER oder UIPANEL verwendet, die praktisch dazwischengeschobene Unter-FIGUREs sind.

Ich empfehle Dir, das einfach so lange auszuprobieren, bis es Dir vollständig klar wird.

Gruß, Jan
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.