diff --git a/SetSameAxes.m b/SetSameAxes.m index 964f2451744d3a51476f26848cd701208d583b1d..9f740ea28c8e5acdaf949ade80423d4bcc87f21f 100644 --- a/SetSameAxes.m +++ b/SetSameAxes.m @@ -1,12 +1,12 @@ -function []=SetSameAxes(figure, padding) -if nargin<1 - fig=gcf; +function []=SetSameAxes(figure, padding, xmin, xmax, ymin, ymax) +if nargin<1 || isempty(figure) + figure=gcf; end if nargin<2 - padding=0; + padding=[0 0]; end -axs=findobj(gcf,'type','axes'); +axs=findobj(figure,'type','axes'); xlim=[inf -inf]; ylim=[inf -inf]; for i=1:length(axs) @@ -16,11 +16,27 @@ for i=1:length(axs) ylim(1)=min(ylim(1), axs(i).YLim(1)); ylim(2)=max(ylim(2), axs(i).YLim(2)); end -xlim(1)=xlim(1)-padding; -xlim(2)=xlim(2)+padding; -ylim(1)=ylim(1)-padding; -ylim(2)=ylim(2)+padding; +if nargin == 3 && ~isempty(xmin) + xlim(1)=xmin; +end +if nargin == 4 && ~isempty(xmax) + xlim(2)=xmax; +end +if nargin == 5 && ~isempty(ymin) + ylim(1)=ymin; +end +if nargin == 6 && ~isempty(ymax) + ylim(2)=ymax; +end +xlim(1)=xlim(1)-padding(1); +xlim(2)=xlim(2)+padding(1); + +ylim(1)=ylim(1)-padding(2); +ylim(2)=ylim(2)+padding(2); + + + for i=1:length(axs) axs(i).XLim=xlim; axs(i).YLim=ylim;