2
x = [0.35, 0.65, 0.8, 1]
y1 = [0.1, 0.21, 0.29, 0.35]
y2 = [0.11, 0.26, 0.28, 0.39]
y3 = [0.1, 0.2, 0.28, 0.36]
y4 = [0.1, 0.25, 0.31, 0.37]

このすべてのデータを同じグラフにプロットする必要があります。x 軸が 1 つ、y 軸が 2 つ (1 つは左に、もう 1 つは右) になるようにします。y 軸の間隔は0.1:0.1:0.4、x 軸の間隔は です0:0.1:1

私は試しましたplotyy

[ax, h1, h2] = plotyy(x, y2, x, y4);
hold on
[bx, h3, h4] = plotyy(x, y3, x, y1);

ただし、ベクトルの 1 つが同じグラフにプロットされません。これを実行し、グラフで PAN オプションを使用すると、3 つの曲線のみがプロットされ、4番目の曲線が別の図にプロットされていることがわかります。凡例を確認すると、U のカーブは 4 つではなく 3 つしかありません。

4

2 に答える 2

5

このようなものはどうですか:

plot(x, [y1(:) y2(:) y3(:) y4(:)])
legend({'y1' 'y2' 'y3' 'y4'}, 'Location','NorthWest')
set(gca, 'XLim',[0 1], 'YLim',[0.1 0.4])

スクリーンショット

于 2012-06-23T05:53:33.723 に答える
0

スキップしholdて使用

[ax, h1, h2] = plotyy(x, [y2;y3], x, [y4;y1]);

編集: xが異なるデータセットをサポートしていないため、これは一種のハックです。つまり、同じ に対して指定する必要がありy2ます。とについても同様です。y3xy4y1

于 2012-06-23T13:27:35.713 に答える