2009-11-16 171 views
15

如何繪製一個繪圖並將其放置在MATLAB另一個繪圖的角落(或任何地方)?繪圖覆蓋圖MATLAB

我有對數數據在圖的右上角有一個大的空白區域。在白色空間中,我想覆蓋包含放大版本日誌圖的較小圖(在放大視圖中)。

在你告訴我不能完成之前,我想提一下,我已經看到它在行動。如果我的描述不夠完整,請告訴我,我會盡力更好地向您描述。

回答

19

一個例子:

x = 1:20; 
y = randn(size(x)); 

plot(x, y,'LineWidth',2) 
xlabel('x'), ylabel('y'), title('Plot Title') 

h = axes('Position', [.15 .65 .2 .2], 'Layer','top'); 
bar(x,y), title('Bar Title') 
axis(h, 'off', 'tight') 

screenshot

+0

http://stackoverflow.com/questions/22485877/matlab-embed-zoom-in-subgraph-into-the-graph – 2014-03-18 18:37:37

8

您可以使用axes屬性'position''units'並使其過度。注意在創建大軸後使用小軸,或者使用uistack()函數,以便大小不會隱藏小軸。

你不能做的是讓另一個軸的子軸(比如Mathworks做的legend)。但是你不需要它。

對於第二個情節,您必須使用axesline而不是plothold on

單位爲'normalized'(默認值)允許在調整父圖的大小時調整大小(例如,手動最大化)。