Verfasst am: 17.05.2011, 11:33
Titel: Festlegen der Größe des Plot-Feldes in einer Figure
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?!
_________________
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?
_________________
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.
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.
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?
_________________
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:
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
Einstellungen und Berechtigungen
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
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.