Dear Rhys Taus,
I might be wrong, but I think the problem is that you might be rewriting the axes instead of modifying them. To be explicit: Are you modifying the axes properties using the command set()?
Do the following:
1) When you define the axes with the command axes(... , ....), write instead:
haxes is the handle of the axes you defined.
2) When you want to modify the properties of the axes, use:
set(haxes, propertyname , newvalue)
where propertyname and newvalue depend on what you want to modify. This command should not change what is plot, unless of course you change the properties 'XData', 'YData' or the alike.
3) For saving the axes, use:
saveas(haxes, 'filename.jpg', 'jpg');
Hope this helps. Best regards,