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

Figure soll nicht aufpoppen, nur bei Aufruf erscheinen

 

trust114
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2016, 12:19     Titel: Figure soll nicht aufpoppen, nur bei Aufruf erscheinen
  Antworten mit Zitat      
Hallo liebes Forum,

habe folgenden Fall:

Ich habe eine Figure definiert:
Code:


Danach kommen die ganzen Bedingungen und so weiter und zum Schluss, dann noch abgespeichert als .fig

Code:
savefig('AFile.fig')


Nun ist es so, das dass Programm diese Figure jedesmal ohne einen Aufruf-Befehl erscheinen lässt. Das möchte ich aber nicht. Ich würde gerne über den Befehl:

Code:


die Figure manuell öffnen. Ich habde auch mit 'Visible', 'off' gearbeitet, nur leider kann ich die Figure dann nicht mehr manuell öffnen.

Hoffe ihr habt ne Idee.

Schönen Gruß
Trust114
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 24.01.2016, 12:37     Titel:
  Antworten mit Zitat      
Hallo,

so wird die 1. figure nicht angezeigt und nach openfig eine neue figure dargstellt.

Code:

hfig = figure(1);
axh = gca;
x=1:10;
y=rand(10,1);
plot(axh,x,y,'b');
grid on;
set(hfig,'Visible','off')

savefig(hfig,'AFile.fig');

h = openfig('AFile.fig','new','visible');
 
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2016, 12:50     Titel:
  Antworten mit Zitat      
klappt perfekt.

Danke DSP!
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: 24.01.2016, 16:18     Titel: Re: Figure soll nicht aufpoppen, nur bei Aufruf erscheinen
  Antworten mit Zitat      
Hallo trust114,

Zitat:
Nun ist es so, das dass Programm diese Figure jedesmal ohne einen Aufruf-Befehl erscheinen lässt.

Welches Programm lässt wann die Figure erscheinen? Was bedeutet "Aufrufbefehl" hier genau? Matlab öffnet nicht eigenständig irgendwelche Files, wenn es keinen expliziten Befehl dazu erhält.

Zitat:
Ich würde gerne über den Befehl:
Code:

die Figure manuell öffnen.

Und warum ist das nicht möglich?

Zitat:
Ich habde auch mit 'Visible', 'off' gearbeitet, nur leider kann ich die Figure dann nicht mehr manuell öffnen.

Weshalb kannst Du die Figure dann nicht mehr öffnen? Meinst Du, dass sie dann nach dem Öffnen unsichtbar ist? Dann mache sie doch einfach sichtbar:
Code:
FigH = openfig('AFile.fig');
set(FigH, 'Visible', 'on');

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2016, 20:19     Titel:
  Antworten mit Zitat      
Hallo Jan S,

also wenn ich meinen code zu Ende geschrieben habe und dann das Programm laufen lasse, sprich Run oder F5 drücke spielt es ja ab.

Und da in meinem code ein figure-Befehl vorhanden ist, wird diese figure einfach ohne das ich es wollte geöffnet. Ich habe mir jedoch vorgestellt das die Figure im Workspace gespeichert werden sollte und ich diese bei manuellem Aufruf öffnen kann.

Falls ich:

Code:
set(A,'Visible','on')


einstelle, macht der ja gerade das was ich nicht will. Nämlich das Öffnen des Figure ohne Erlaubnis Smile

Hoffe das Problem ist etwas klarer geworden.
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2016, 20:29     Titel:
  Antworten mit Zitat      
Allerdings hätte ich noch ne Frage zu dem code von DSP.

In meinem Fall ist es so, dass die Figure nicht immer gleich aussehen. Sondern je nach Eingabe variieren.

D. h. ich gebe die Zahl 100 ein und es kommt eine bestimmte Figure. Gebe ich 200 ein kommt eine andere Figure.

Nun ist es so, dass durch deinen code die gespeicherte Figure 'übermalt' wird und nicht auf eine neue Figure. Ist es irgendwie möglich diese neu zu speichern oder zu überschreiben?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 24.01.2016, 21:08     Titel:
  Antworten mit Zitat      
Zitat:
Nun ist es so, dass durch deinen code die gespeicherte Figure 'übermalt' wird und nicht auf eine neue Figure. Ist es irgendwie möglich diese neu zu speichern oder zu überschreiben?


Das verstehe ich nicht. Die geöffnete figure hat bei mir die Nummer 3. Wie kann es dann figure(1) übermalt haben? Zumal der new Parameter in openfig eigentlich auch eine neue figure erstellen sollte.

Du kannst natürlich figure(1) vorher löschen, falls dir das was hilft.

Code:

hfig = figure(1);
axh = gca;
x=1:10;
y=rand(10,1);
plot(axh,x,y,'b');
grid on;
set(hfig,'Visible','off')

savefig(hfig,'AFile.fig');
delete(hfig)

h = openfig('AFile.fig','new','visible');
 
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2016, 21:15     Titel:
  Antworten mit Zitat      
1000 Dank DSP! Klappt mal wieder Perfekt!
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.