Wie zu unterdrücken zahlen?
Wie kann ich das unterdrücken der Anzeige von einem Bild-Fenster, während das Plotten im hintergrund für das speichern der resultierenden Handlung, die Ende des Laufs? Was ist die beste Praxis zu tun? Derzeit mein code ist so:
showPlot = 1; % switch to turn plotting on/off
fig = figure(1); clf; hold on;
lineHandle = line(nan, nan);
total = 0;
for i = 1:10000
% long calculation
total = total + 1;
set(0, 'CurrentFigure', fig);
xlim([0, total]);
x = [get(lineHandle, 'XData'), total];
y = [get(lineHandle, 'YData'), rand()];
set(lineHandle, 'XData', x, 'YData', y);
drawnow;
end
% saveas(gcf, file, 'png');
Ich will zum einrichten der code in einer solchen Weise, dass, wenn ich showPlot auf 0, die figure-Fenster wird nicht angezeigt, aber die Handlung ist in einer Datei gespeichert.
- Keine dieser Antworten, die für mich arbeiten, zum Umstieg auf Python!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um die aktuelle Abbildung nicht sichtbar:
shg
bringen Sie es zurück, z.B. wenn Sie möchten, zeichnen Sie eine Daten-mäßiger plot alle auf einmal, anstatt Neuzeichnen jedes mal, wenn Sie eine Zeile hinzufügen.Aus der MathWorks-Referenz:
Zu vermeiden, zeigen die zahlen in MATLAB können Sie starten Sie MATLAB mit dem noFigureWindows option. Diese option ist nicht verfügbar auf UNIX.
Als alternative können Sie ändern Sie die Standard-Abbildung-Eigenschaften der MATLAB-root-Objekt:
Wenn Sie möchten, um vorübergehend zu unterdrücken zahlen, sollte zugänglicher später in der gleichen Sitzung können Sie speichern Sie die Abbildung Griff:
Übrigens
close all
schließt alle derzeit geöffneten zahlen.Die anderen Antworten waren nicht für mich arbeiten auf R2015b auf Ubuntu, meine Figur-Fenster immer angezeigt.
Ich bin Verarbeitung 100+ - Dateien und die Figur, die Fenster verhindert, das ich mich mit meinem computer während der Verarbeitung der Dateien.
Hier ist ein workaround, starten Sie matlab ohne display:
und dies verhindert, dass Bild von windows angezeigt. Programmgesteuerte Speicherung der Abbildung in einer Datei funktioniert noch.
Beantwortete früher, zu unterdrücken, Anzeige der zahlen während der Instanziierung ersten Aufruf
Nachdem dieser Aufruf, die Schöpfung von neuen zahlen in einem Skript wird nicht in einem sichtbaren Fenster aufspringen. Natürlich, der Weg, um wieder diese Einstellung ist
Den "gotcha" ist, dass die Aktivierung eine bestehende Figur weiter bearbeitet werden wird Ergebnis in einem sichtbaren Fenster - wenn Sie nicht ordnungsgemäß durchgeführt:
Die Problemumgehung ist die Verwendung einer anderen set Befehl wählen Sie vorhandene zahlen:
Unabhängig von der Einstellung des 'DefaultFigureVisible", ruft
wo h ist ein handle oder ein integer für einen bestehenden plot-Fenster bewirkt, dass das Fenster aktiv und sichtbar. Somit kann man alle plots sichtbar an der Unterseite von einem Skript auf diese Weise: