13

次のコード例を検討してください。

load sumsin; 
s = sumsin+10; % example data series
time = linspace(0,5*24,1000);

figure(1);
subplot(311);
plot(time,s,'k');

subplot(312);
plot(time,s,'k');
hold on;
[s_denoised,~, ~] = wden(s,'minimaxi','s','sln',1,'db4');
plot(time,s_denoised,'r');

subplot(313);
plot(time,s,'k');
hold on;
plot(time,s_denoised,'r');
xlim([20 40]);

その結果 ここに画像の説明を入力

サブプロット 2 と 3 の間に線を挿入して、サブプロット 3 がサブプロット 2 の一部であることを示すことで、このプロットを変更したいと思います。例えば:

ここに画像の説明を入力

これはmatlabでどのように達成できますか?

編集:

図全体に非表示の軸を生成し、各サブプロットの位置を取得する方法に沿って何かを考えていました.20と40の位置はサブプロット幅の特定の割合になるため、ここから注釈コマンドを使用できます線を開始し、同じ方法を 3 番目のサブプロットに適用して、線を目的の位置に接続します。私はこれを試していますが、これまでのところ解決策はありません。

4

3 に答える 3

12

答えのためだけにannotation objects、コメントで正しく提案されているように、探している効果を得るのに使用できます。それらの座標は、Figureウィンドウに対して[0、1]の範囲に正規化する必要があるため、調整するのは非常に面倒な場合があることに注意してください。

これで仕事は終わりますが、ひどいですこのようにしないでください。

私はあなたの元のデータを持っていないので、私は私自身の何かを描きます(しかしあなたのものに似ています):

t = linspace(0, 120, 1000);
s_denoised = sin(t / 2);
s = s_denoised + 0.2 * randn(size(s_denoised));
subplot(3, 1, 1), plot(t, s, 'k')    
subplot(3, 1, 2), plot(t, s, 'k', t, s_denoised, 'r')    
subplot(3, 1, 3), plot(t, s, 'k', t, s_denoised, 'r'), xlim([20 40])

次に、必要に応じて「注釈」行を追加しましょう。

annotation('doublearrow', [.26 .39], [.38 .38]); %// Top double-arrow line
annotation('doublearrow', [.13 .9], [.34 .34]);  %// Bottom double-arrow line
annotation('line', [.325 .325], [.38 .37]);      %// Top little connector
annotation('line', [.515 .515], [.35 .34]);      %// Bottom little connector
annotation('line', [.325 .515], [.37 .35]);      %// Line

結果:

結果画像

于 2013-01-24T18:32:31.943 に答える
6

ゲームが少し遅れていますが、ファイル交換 (FEX) で利用できる次のオプションのツールを知っておくと有益な場合があります。

inset2DAbsolute - より大きな軸と対応する注釈を使用して定義された軸インセットを作成します。

ここに画像の説明を入力

オンフィギュア拡大鏡- 同じプロット上の画像の 2D グラフィックス用のズーム ツールです。これは 2 つのブロック (セカンダリ軸と拡大鏡) で構成されています。図の制限内で任意に割り当てることができる 2 次軸は、拡大鏡でマークされた領域を表示します。

ここに画像の説明を入力

于 2013-01-26T06:46:48.240 に答える
1

興味深い質問です。

しかし、私の経験から、グラフやプロットの美化は、グラフィック ソフトウェアを使用するとより効率的に行うことができます。
私は通常、この目的のためにエクセル + パワーポイントを使用します。

したがって、私のアドバイス(これはあなたの質問に対する正確な答えではありません)は次のとおりです。

  • を使用して、データを Excel にエクスポートします。xlswrite

  • Excel を使用して目的のプロットを作成します。

  • 「手作りの」仕上げのためにプロットをコピーしてパワーポイントに貼り付けます...

于 2013-01-24T12:59:14.103 に答える