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;