当放大图形时,Plotyy右侧y轴和相关数据向上移动

时间:2014-01-08 18:55:08

标签: matlab multiple-axes

我使用类似于plotyy函数的代码来绘制两个y变量。但是,当我改变图形的大小时,包含第二个y轴的图形的右侧移动/移动。这也导致y变量从底部x轴向上移动。左侧y轴不会发生这种情况。如何锁定/防止正确的y轴及其相关的y变量向上移动,远离x轴的底部?

%Some code

hFig=figure;

%Line 1 (blue line variable)
hl1 = line(x1,y1,'Color',deepskyblue,'LineStyle','-.');
ax1 = gca;
set(ax1,'LineStyle',line_style,'FontSize',axis_font,'XColor',x_color,'YColor',y_color);

%Line 2 (black line variable)
ax2 = axes('Position',get(ax1,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor',x_color,'YColor',y_color);
hl2 = line(x2,y2,'Color','k');
set(ax2,'LineStyle',line_style,'FontSize',axis_font,'XColor',x_color,'YColor',y_color,'XTick',[]);
linkaxes([ax1 ax2],'x'); %Links the two x axes

%Save figure 
set(hFig,'Units','inches','Position',[1 1 12 6]); %[x y width height]
saveas = input('enter the filename to save as an image','s');
print(saveas,'-dpng','-r300');

原始图(注意:原始图是在Matlab中手动保存的): before

调整大小后(注意:使用下面的代码保存调整大小后的图。这是我们看到右y轴的移位): after

0 个答案:

没有答案