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

Fenstergröße des Figure anpassen

 

mel2503
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 03.01.08
Wohnort: ---
Version: 7
     Beitrag Verfasst am: 14.02.2008, 11:09     Titel: Fenstergröße des Figure anpassen
  Antworten mit Zitat      
Hallo,
ich habe folgendes Problem:
ich erstelle einen graphen wo ich an der rechten seite text einfügen möchte. jetzt ist das problem, dass das fenster nicht gross genugist und der text abgeschnitten wird! Gibt es eine möglichkeit die größe automatisch anzupassen?
eine andere idee war, dass ich die fenstergröße mit
Code:
get(gcf,'ScrrenSize')

auszulesen um sie dann ernaut zu setzen, aber das funktioniert irgendwie nicht!
hier mein programm:
Code:

h= semilogx(f,m1,':o',f,m2,':p',f,m3,':x',f,m4,':+',f,m5,':*',f,mw,'k-d');
hold on; grid on;
set(h, 'LineWidth',1);
AA=get(h,'ScreenSize')
xlabel('Frequenz [Hz]'); ylabel('Nachhallzeit [s]')
axis([ 0,8000,0, 3])
text(9000,3,[ 'Temperatur: ' T ' C']);
text(9000,2.8,[ 'Luftfeuchtigkeit: ' U ' %'])
text(9000,2.6,[ 'Messposition: ' S])
text(9000,2.4,[ 'Antwortdauer: ' Ant])
text(9000,2.2,[ 'Anzahl der Mittelungen: ' Mittel])
text(9000,2.0,[ Zusatz])
title(['Nachhallzeit (' dateiname ' gemessen am ' D ')' ])
 

vielen dank schon mal im vorraus!
VG
melanie
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 14.02.2008, 11:36     Titel:
  Antworten mit Zitat      
Moin Melanie,

ich denke, du solltest dir ein Fenster definieren:
Code:
figure('units','normalized','position',[0,0,1,1]);

Damit erhälst du ein Fenster, welches gleich als Vollbild geöffnet wird.

Danach würde dann dein Code folgen, so wie er dort steht:
Code:

h= semilogx(f,m1,':o',f,m2,':p',f,m3,':x',f,m4,':+',f,m5,':*',f,mw,'k-d');
hold on; grid on;
set(h, 'LineWidth',1);
AA=get(h,'ScreenSize')
xlabel('Frequenz [Hz]'); ylabel('Nachhallzeit [s]')
axis([ 0,8000,0, 3])
text(9000,3,[ 'Temperatur: ' T ' C']);
text(9000,2.8,[ 'Luftfeuchtigkeit: ' U ' %'])
text(9000,2.6,[ 'Messposition: ' S])
text(9000,2.4,[ 'Antwortdauer: ' Ant])
text(9000,2.2,[ 'Anzahl der Mittelungen: ' Mittel])
text(9000,2.0,[ Zusatz])
title(['Nachhallzeit (' dateiname ' gemessen am ' D ')' ])


Probier mal, ob es das ist, was du willst...

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
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.02.2008, 11:45     Titel:
  Antworten mit Zitat      
Hallo, du machst einen kleinen Fehler
Du kannst nicht ScreenSize von einem aktuellen Objekt auslesen, diese Property existiert nur für root object. also muss man so die Screensize aufrufen:
Code:
get(0,'ScreenSize')
Private Nachricht senden Benutzer-Profile anzeigen
 
mel2503
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 03.01.08
Wohnort: ---
Version: 7
     Beitrag Verfasst am: 14.02.2008, 11:49     Titel:
  Antworten mit Zitat      
hallo,
leider ist das nicht ganz was ich möchte! jetzt wird zwar das fenster größer aber die verhltnisse im fenster sind die selben! ich hätte gleich ein bild mitschicken sollen, tut mir leid! ich denke da sieht man sofort was mein problem ist! aber danke für die schnelee antwort!
LG

Messung60.jpeg
 Beschreibung:

Download
 Dateiname:  Messung60.jpeg
 Dateigröße:  97.41 KB
 Heruntergeladen:  4930 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 14.02.2008, 12:56     Titel:
  Antworten mit Zitat      
Hallo Melanie,

Du platzierst doch den Text selbt so weit aussen rechts am Plot, dass es nicht mehr passt. Damit es passt, sollte die Axes also schmaler sein und das kannst Du mit "Position" einstellen:

zB. das ist das was Du hast. "Hello World" ist nicht vollständig zu sehen
Code:
figure
plot(rand(1,10))
text(10,.5,'HELLO WORLD')


nun sollte die Axes schmaler gemacht werden
Code:
set(gca,'units','normalized','position',[.1 .1 .6 .8])


Jetzt kannst Du mit der Maus das Figure vergößern - die Schrift bleibt nun immer vollständig zu sehen.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.02.2008, 13:02     Titel:
  Antworten mit Zitat      
Hallo Melanie,
Ich würde einfach
axes kleiner setzen
Code:
set(gca,'Position',[0.01, 0.01, 0.8, 0.9 ])


Muss hier aber selbst ausprobieren, welche Zahlen hier für dich besser sind Hier muss du bloss aufpassen dass die Punkte nicht über Ränder gehen,
z.b hier in meinem Beispiel Startpunkt ist 0.01 Breite ist 0.8 also Startpunkt plus Breite ergibt Endpunkt 0.01+0.8 = 0.81, wenn es größer als 1 dann wird es über den Rand gehen

das würde ich nach
Code:
h= semilogx(f,m1,'Surprised',f,m2,':p',f,m3,':x',f,m4,':+',f,m5,':*',f,mw,'k-d');

setzen
Private Nachricht senden Benutzer-Profile anzeigen
 
dose
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 21.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2011, 13:10     Titel:
  Antworten mit Zitat      
Ich habe dazu auch mal eine Frage.
Ich habe einen subplot mit zwei Bildern unter einander. Diese speichere ich als pdf. Die beiden Bilder würde ich nun aber gerne entzerren, dass heißt das Seitenverhältnis auf das A4 Format anpassen.

a)So wie es jetzt ist, ist das Bild quadratisch auf meinem rechteckigen Papier und damit sind oben und unten große ungenutzte Ränder. Wie stelle ich das an?
Mit der oben genannten Idee von Steve
Code:

figure('units','normalized','position',[0,0,0.5,1]);
 

kann ich zwar die Fenstergröße anpassen, aber das wir nicht im pdf übernommen. Zumindest nicht über den Befehl
Code:

 print( '-dpdf', [path title])
 

Speicher ich das Bild von Hand über File -> Save As klappt es.

b) Wie kann ich einen Abstand zwischen die beiden Subplot bringen, damit die Überschrift des unteren Bildes nicht fast ins obere Bild hineinragt?

Vielen Dank
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: 03.03.2011, 00:26     Titel:
  Antworten mit Zitat      
Hallo dose,

Suche in der Dokumentation nach "PaperPosition", "PaperSize" und "PaperUnits".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
dose
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 21.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.03.2011, 16:50     Titel:
  Antworten mit Zitat      
Danke mit den Stichworten hat es geklappt.
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.