我想使用gcf保留图形中的数据。但是,当我关闭这个数字时,我会丢失存储在变量中的所有数据。
map = randn(10,10);
figure; imagesc(map);
fig = gcf; % I have the data stored into fig
close all;
fig; % Error : handle to deleted Figure
即使图形已关闭,我如何保持gcf中的数据。
您可以在关闭图形之前使用saveas
将其保存为文件。当您再次需要它时,可以使用open
重新加载它。
完整示例:
map = randn(10,10);
figure; imagesc(map);
fig = gcf;
%% Save figure in file 'MyFigureFile.fig'
saveas( fig, 'MyFigureFile', 'fig')
close all;
%% Load figure from file 'MyFigureFile.fig'
open( 'MyFigureFile.fig' );
其他选项:
您可以简单地隐藏图形,而不是像Delete对象句柄中建议的那样使用fig.Visible = false
或fig.Visible = 'off'
来关闭它,并在MATLAB中保留变量。