3

これが私が直面している問題です。いくつかのバープロットを作成するコードがあります。

それらをよりよく比較するために、私はそれらすべてが同じスケールを持っている必要があります。棒グラフを見ると、棒グラフに特定の最大高さがあることを指定する方法が見つかりませんでした。

したがって、私の場合、たとえば、次のコードがあります。

c = [0 0 12 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
e = [0 2 5 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0];
f = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19];
b = [0 9 7 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0];

subplot(2,2,1)
bar(b)
subplot(2,2,2)
bar(e)
subplot(2,2,3)
bar(f)
subplot(2,2,4)
bar(c)

最初のサブプロットの高さは10より6より大きく、20より15より高くなっています。

それらすべてを最大高さ20にする簡単な方法はありますか?

4

2 に答える 2

7

linkaxes次のコマンドを使用できます。

h(1) = subplot(2,2,1)
bar(b)
h(2) = subplot(2,2,2)
bar(e)
h(3) = subplot(2,2,3)
bar(f)
h(4) = subplot(2,2,4)
bar(c)

linkaxes(h)
ylim([0 20])
于 2013-03-25T08:07:25.540 に答える
5

setコマンドと軸のハンドル(=識別子)を使用して、軸のプロパティを簡単に変更できます。軸ハンドル(の最初の出力)を保存していない場合はsubplot、最初にそれらを見つける必要があります。

%# collect axes handles
axH = findall(gcf,'type','axes');

%# set the y-limits of all axes (see axes properties for 
%# more customization possibilities)
set(axH,'ylim',[0 20])
于 2013-03-25T08:05:58.877 に答える