我有以下数据集来绘制:
data1 = [ 3 6 99 4 5];
data2 = [ 0.2 1.5 1.75 1.0 1.2];
我的情况有什么特别之处,我需要数据点data1(3)
,它等于99
,不显示在图表上。我使用99作为推动观察超出所需轴限制的方法,因此对于自变量的某些值没有可见的观察结果。 (我只用标记绘制数据点,没有线条。)
虽然data1
和data2
具有完全不相关的比例和含义,但它们共享完全相同的因变量:
X=40:1:44
我正在使用以下命令进行绘制,这些命令来自MATLAB plotyy documentation page:
[AX,H1,H2] = plotyy(X,data1,X,data2);
set(get(AX(1),'Ylabel'),'String','This is vertical axis 1')
set(get(AX(2),'Ylabel'),'String','This is vertical axis 2')
set(H1,'LineStyle','none','Marker','*');
set(H2,'LineStyle','none','Marker','s');
到目前为止,这么好。我无法弄清楚的是如何在两个垂直轴上强制执行正确的限制。我希望的限制是:
ylimits1=[0 3]
ylimits2=[0 10]
如何为每个垂直轴设置限制?
我试过这个
set(get(AX(1),'Ylim'),ylimits1)
set(get(AX(2),'Ylim'),ylimits2)
和
foo = gca
set(foo(1),'ylim',ylimits1);
set(foo(2),'ylim',ylimits2);
但都不起作用。
答案 0 :(得分:1)
以下内容应该有效:
[AX,H1,H2] = plotyy(X,data1,X,data2);
set(AX(1),'ylim',ylimits1);
set(AX(2),'ylim',ylimits2);
答案 1 :(得分:0)
你可以做的其他随机事情
x1 = 1:10
y1 = x1.^2
x2 = 10:120
y2 = sin(x2)
[AX,~,~] = plotyy(x1,y1,x2,y2);
set(get(AX(1),'Xlabel'),'String','both plots')
set(get(AX(2),'Ylabel'),'String','plot 2')
set(AX(1),'YLim',[1 25],'YTick',7:23)