2017-06-19 53 views
0

我的目標是在每個子圖中創建14個具有4位數字的子圖。不幸的是,我沒有任何代碼示例,因爲我不知道如何去做這件事。一些關於我如何能夠完成這個任務的想法涌現了我的腦海。一個是分別創建多個數字,然後將它們合併成一個數字。另一種是創建具有嵌套在其中的多個子圖的子圖;然而,再次,我不知道如何去完成這件事。多個子圖與(子)子圖(MATLAB)

+0

你可以在油漆或其他東西中創建一個盒子圖嗎?我做了類似的事情,但不完全確定你的意思。 – Durkee

+0

14個小區每個x4地塊?我認爲56個圖中的數字與目的是背道而馳的:顯示結果。只需使用4個子圖分別製作14個數字 –

回答

0

您可能會發現您正試圖將太多的數據放在一個數字上,並且這些地塊太小而無法看到任何感興趣的東西。然而,一種有效的技術,並且可以讓你選擇個人數字,並且如果你願意,將它們合併成一個數字,就是使用單獨的數字,每個數字都帶有一個面板,然後使用copyobj複製到你的主要數字。

例如,

% Create first figure 
hf_sub(1) = figure(1); 
hp(1) = uipanel('Parent',hf_sub(1),'Position',[0 0 1 1]); 
subplot(2,2,1,'Parent',hp(1)); 
plot(1:10); 
subplot(2,2,2,'Parent',hp(1)); 
surf(peaks); 
subplot(2,2,3,'Parent',hp(1)); 
membrane; 
subplot(2,2,4,'Parent',hp(1)); 
plot(rand(1,100)); 

% Create second figure 
hf_sub(2) = figure(2); 
hp(2) = uipanel('Parent',hf_sub(2),'Position',[0 0 1 1]); 
subplot(2,2,1,'Parent',hp(2)); 
histogram(randn(1,1000)); 
subplot(2,2,2,'Parent',hp(2)); 
membrane 
subplot(2,2,3,'Parent',hp(2)); 
surf(peaks) 
subplot(2,2,4,'Parent',hp(2)); 
plot(-(1:10)); 

% Create combined figure 
hf_main = figure(3); 
npanels = numel(hp); 
hp_sub = nan(1,npanels); 
% Copy over the panels 
for idx = 1:npanels 
    hp_sub(idx) = copyobj(hp(idx),hf_main); 
    set(hp_sub(idx),'Position',[(idx-1)/npanels,0,1/npanels,1]); 
end 

您可能需要更加小心與面板的定位,可能要創建自己的知名度個人數字設置爲off,但上面給出的主要思想。

+0

這正是我所尋找的 - 它與我的代碼完美結合。謝謝! – user107053