MATLAB: How to Specify the Size of Rectangles in a figure

figurerectanglesize;struct

I have drawn 3 rectangles and put them in a struct as follows. It occupies the whole figure1 area. How to make them so small that just, for example, these rectangles just take one fifth of the figure1’s area?
hfig = figure;
for i = 1 : 3
W = 4;
X = i.* W;
Y = 0;
H = 8;
R = rectangle;
R.Position = [X Y W H];
G(i).r = R;
end

Best Answer

The rectangle is a child of an axes object. The axes is fit to the included data automatically, if you do not specify its data limit.
hFig = figure;
hAxes = axes('NextPlot', 'add', 'XLim', [0, 20], 'YLim', [-1, 10]);
W = 4;
Y = 0;
H = 8;
for i = 1 : 3
X = i.* W;
R = rectangle;
R.Position = [X Y W H];
G(i).r = R;
end