以下代码显示了我的问题.如果蜱不在两侧的相同位置(这是正常情况......),则情节完全失败
我需要一个带有两个y轴但只在一侧有刻度的图.我被建议使用addaxis,但我不知道这对我有什么帮助,因为我不想要分离轴.
clf;
clc;
xaxis = 0:0.1:25;
ydata1 = linspace(12.1712,12.7679, length(xaxis));
ydata2 = linspace(0.3597,-28.7745, length(xaxis));
[AX,H1,H2] = plotyy(xaxis, ydata1, xaxis, ydata2);
% axis limits - x axis (min to max)
xlimits(1) = min(xaxis); xlimits(2) = max(xaxis);
set(AX, 'XLim', xlimits);
set(AX(2),'XTick',[]);
% y1 axis limits
ylimits(1) = min(ydata1); ylimits(2) = max(ydata1);
ylimits(2) = ylimits(2) + (ylimits(2)-ylimits(1))*0.05;
set(AX(1), 'YLim', ylimits);
% y2 axis limits
ylimits(1) = min(ydata2); ylimits(2) = max(ydata2);
ylimits(2) = ylimits(2) + (ylimits(2)-ylimits(1))*0.05;
set(AX(2), 'YLim', ylimits);
% y1 ticks
set(AX(1),'YTick',[12.0:0.1:12.8]);
% y2 ticks
set(AX(2),'YTick',[-25:5:0]);
print(gcf, ['-r' num2str(400)], ['test' '.png' ], ['-d' 'png']);
Run Code Online (Sandbox Code Playgroud)

这是我从mathworks 论坛获得的一种方法。这个想法是删除盒子属性,这会在另一侧创建抽动。
set(AX(1),'Box','off') % Turn off box of axis 1, which removes its right-hand ticks
set(AX(2),'Box','off') % Turn off box of axis 2, which removes its left-hand ticks
Run Code Online (Sandbox Code Playgroud)
缺点是上面的线消失了。如果有人知道如何取回它,那就太好了。Mybe 在当前绘图上有一个具有相同尺寸的空绘图?
