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轴和两个y轴,一个在左边,一个在右边。 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);
但其中一个向量不会在同一图表上绘制。当你运行它,并使用图表上的PAN选项时,你会发现只有3条曲线被绘制,而4 th 曲线被绘制在另一个数字上。当我检查图例时,我只得到3条曲线,而不是4条。
答案 0 :(得分:5)
这样的事情怎么样:
plot(x, [y1(:) y2(:) y3(:) y4(:)])
legend({'y1' 'y2' 'y3' 'y4'}, 'Location','NorthWest')
set(gca, 'XLim',[0 1], 'YLim',[0.1 0.4])
答案 1 :(得分:0)
跳过hold
并使用
[ax, h1, h2] = plotyy(x, [y2;y3], x, [y4;y1]);
修改强>
这是一种黑客攻击,因为它不支持x不同的数据集。那是y2
和y3
应该为同一x
指定。 y4
和y1
也是如此。