有沒有方法將圖形的外部屬性賦值給具有給定句柄的圖形?將圖形大小分配給具有給定句柄的圖形(MATLAB)
例如,如果我想的說圖1來定義一個數字,我會用:
figure('Name', 'Name of figure','NumberTitle','off','OuterPosition',[scrsz(1) scrsz(2) 700 700]);
:
figure(1)
imagesc(Arrayname) % I.e. any array
我也可以使用代碼更改人物的屬性是否有一個屬性名可用於將外部屬性賦值給圖1所指定的數字?
我問這個的原因是因爲我使用了一個名爲save2word(從MATLAB文件交換)命令來保存從我對一個字文件進行了功能的一些情節,我想限制的數字位數我已經開放,因爲它這樣做。
我的代碼的其餘部分是:
plottedloops = [1, 5:5:100]; % Specifies which loops I want to save
GetGeometry = getappdata(0, 'GeometryAtEachLoop') % Obtains a 4D array containing geometry information at each loop
NumSections = size(GetGeometry,4); %Defined by the fourth dimension of the 4D array
for j = 1:NumSections
for i = 1:plottedloops
P = GetGeometry(:,:,i,j);
TitleSize = 14;
Fsize = 8;
% Save Geometry
scrsz = get(0,'ScreenSize'); %left, bottom, width height
figure('Name', 'Geometry at each loop','NumberTitle','off','OuterPosition',[scrsz(1) scrsz(2) 700 700]); This specifies the figure name, dims etc., but also means multiple figures are opened as the command runs.
% I have tried this, but it doesn't work:
% figure(0, 'OuterPosition',[scrsz(1) scrsz(2) 700 700]);
imagesc(P), title('Geometry','FontSize', TitleSize), axis([0 100 0 100]);
text(20,110,['Loop:',num2str(i)], 'FontSize', TitleSize); % Show loop in figure
text(70,110,['Section:',num2str(j)], 'FontSize', TitleSize);% Show Section number in figure
save2word('Geometry at each loop'); % Saves figure to a word file
end
末
感謝
令人沮喪的是,看起來不可能創建具有不可見的特定句柄和屬性的圖形。我經常創建一個'Visible'設置爲'off'的圖形,然後創建圖形的內容,然後在準備就緒時將其顯示出來。事實上,你不能既設置圖形的手柄,也沒有首先創建一個可見的圖形,它的可見性已導致我走了許多不雅的變通的道路。 – EddyTheB 2017-01-19 10:46:56
@EddyTheB:你爲什麼要設置一個特定的句柄?也許有些東西我沒有看到,但是設置'tag'屬性對我來說通常是個訣竅,所以我甚至可以擁有「隱藏」的手柄,但仍然可以通過'figH = findall(0, 'tag','mySpecificFigureHandle')' – Jonas 2017-01-19 13:29:30
我有一個可以產生一個數字的類,而這個類的其中一個屬性就是這個數字的句柄。所以說,我稱這個類,它創建一個處理'2'的數字,但是然後我關閉這個數字並打開一些其他數字,那個新數字將處理'2'。原圖中的手柄指向不合適的數字。 – EddyTheB 2017-01-19 13:53:57