From Matlab (2008) help (search for automatic resizing of axes):
"When you add axis labels and a title, TightInset changes to accommodate additional text [...] Using OuterPosition as ActivePositionProperty: when resizing a picture, MATLAB supports the area defined by TightInset + Position, so the text is not cropped."
i.e. set(gca, 'ActivePositionProperty', 'OuterPosition'); fixed it
source share