我试图在单个图形上绘制两个不同的量,电压和电流(或者如果我们想要技术的话,在相同的轴空间)。我尝试使用plotyy
但是当我手动设置限制/刻度时,它会在右侧留下错误的刻度线,如this post中所述。在过去一年中精通手柄图形之后,我认为必须有一种方法可以将事情掌握在自己手中。这是我尝试过的:
% Voltage axes setup
axHandle(1) = ...
axes('XLim',[0,24],'XTick',0:24,'YLim',[0, 18],'YTick',0:18, ...
'Parent', figHandle(1));
xlabel(axHandle(1),'Time [local-military]')
ylabel(axHandle(1),'Voltage [volts]')
hold(axHandle(1),'on')
% Current axes setup
axHandle(2) = ...
axes('YAxisLocation','right', 'Color','none', ...
'XLim',[0,24],'XTick',[],'YLim',[0 1.7],'YTick',0:0.1:1.7, ...
'Parent', figHandle(1));
ylabel(axHandle(2),'Current [amps]')
hold(axHandle(2),'on')
% Plot data
voltPlotHandle = plot(axHandle(1), timeVec, voltVec, 'b.');
currPlotHandle = plot(axHandle(2), timeVec, currVec, 'r.');
虽然结果看起来很乍一看,但当我使用缩放工具时遇到了一个问题:只有第二个轴处于活动状态,因此电压图仍未被放大。
无论plotyy
在后台做什么,它都没有这个问题。任何解决方案?
答案 0 :(得分:2)
尝试linking the axis
,因此它们在平移/缩放时共享相同的限制。
linkaxes([axHandle(1) axHandle(2)],'xy');