Note: This issue occurs in 2016b in my case.
I try to make a figure with 3x4 subplots together, with tick labels only on the leftmost and bottom subplots. However, when I run the code below, the first plot seems to change size:
figure
hold on
n = 12;
ax = gobjects(n,1);
for k = 1:n
pos = [0.1+0.2*(mod(k-1,4)), 0.65-0.3*floor(k/4-0.01), 0.2, 0.3]
ax(k) = subplot(3,4,k,'Position',pos);
end
set(ax(1:8),'XTick',[])
set(ax([2:4 6:8 10:12]),'YTick',[])
Note that I am printing pos. The output for the first subplot is
pos =
0.1000 0.6500 0.2000 0.3000
but when I then double check the position of the first subplot...
ax(1).Position
ans =
0.1300 0.7093 0.1566 0.2157
Furthermore, I have tried to manipulate the position of the first subplot afterwards, but it just makes it worse, see below:
ax(1).Position = [0.1000, 0.6500, 0.2000, 0.3000];
All help appreciated!

