15

MATLAB で 1 つのプロットを別のプロットの隅 (またはそのことについてはどこでも) に配置するにはどうすればよいでしょうか?

プロットの右上に大きな空白がある対数データが​​あります。空白には、拡大されたバージョンのログ プロットを含む小さなプロットをその空白に重ねたいと思います (拡大図のようなものです)。

できないと言う前に、私はそれが実際に行われているのを見たことを述べたいと思います。私の説明が不足している場合は、お知らせください。より適切に説明できるように努めます。

4

2 に答える 2

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')

スクリーンショット

于 2009-11-16T21:55:28.597 に答える
8

axesプロパティ'position'を使用'units'して、過度に作成することができます。大きな軸の後に小さな軸を作成するか、大きな軸が小さな軸をuistack()隠さないように関数を使用するように注意してください。

できないことは、Axesを別のAxesの子にすることです(Mathworksが行うようにlegend)。しかし、とにかくそれは必要ありません。

2番目のプロットでは、andの代わりにandを使用する必要axeslineありplotますhold on

Units as 'normalized'(デフォルト)を使用すると、親フィギュアのサイズが変更されている場合(手動で最大化されている場合など)に、サイズ変更可能な均一な外観が可能になります。

于 2009-11-16T20:40:12.560 に答える