双轴在matlab中的应用
我正在使用matlab中的plotyy在同一个图形中绘制两个数据集。左轴和右轴的范围不同。但我发现在右边的轴上,似乎有两组不同的刻度。我想其中一个是从左轴来的双轴在matlab中的应用,matlab,axes,Matlab,Axes,我正在使用matlab中的plotyy在同一个图形中绘制两个数据集。左轴和右轴的范围不同。但我发现在右边的轴上,似乎有两组不同的刻度。我想其中一个是从左轴来的 t=-1:0.02:1; y=sin(t); y1=2*sech(t); [AX, H] =plotyy(t, y, t, y1); ylim(AX(2), [0 3.25]); set(AX(2), 'YTickMode', 'auto') 在网上搜索之后,我发现关掉盒子也能解决问题。但问题是,如果关闭该框,顶部水平线也会消
t=-1:0.02:1;
y=sin(t);
y1=2*sech(t);
[AX, H] =plotyy(t, y, t, y1);
ylim(AX(2), [0 3.25]);
set(AX(2), 'YTickMode', 'auto')
在网上搜索之后,我发现关掉盒子也能解决问题。但问题是,如果关闭该框,顶部水平线也会消失。这样做是为了去掉多余的刻度并保留框架吗?谢谢。我认为没有简单的方法来做你想做的事。如果关闭长方体(以消除右侧的蓝色记号),则顶部水平线将消失:
set(AX(1), 'Box','off')
如果需要,您可以使用以下命令重新绘制该线:
line([-1, 1], [1, 1])
或者更一般地说:
lims = get(AX(1),{'XLim','YLim'});
line(lims{1}, lims{2}([2 2]))
这是可能的,也不是非常困难,下面是一个基于测试代码的示例图 我所做的是添加一个第三轴(在本例中,我通过一个快捷方式实现了这一点-我两次调用了plotyy,结果在第一个轴上有一条额外的蓝线,在第二个轴上有一条绿线) 其思想是为第一轴和第二轴禁用边界框,然后为第三轴启用边界框。这将导致顶部轴为左垂直轴,第二个轴为右垂直轴,第三个轴为顶部水平轴