MATLAB: Adding space for long ticklabels

bar chartfigure sizeMATLAB

Hi all,
I am creating a plot to display grouped parameter estimates. This is based on a bar chart where I: 1) define empty ticklabels 2) add text at the position of the ticklabels 3) the issue is that long labels do not fit into the figure window.
Here is the outcome
Any ideas on how to automate this?
Cheers
Sebastian

Best Answer

It's really unnecessary to scale the figure to fit with your text. Better yet, make the figure very large and then crop it when you export your plot. export_fig crops automatically.
Start by setting the units of the figure and axes to centimeters. By doing so, you avoid the rescaling of axes that occurs when you use normalized units and change the figure size. Then increase the width of the figure and move your axes horizontally by the same distance.
Here's an example
figure('units','centimeters')
ax1=axes('yticklabels',{},'units','centimeters');hold on
plot(1)
t=text(-0.65,2,'testtesttesttesttesttest')
FigPos=get(1,'position')
set(1,'position',FigPos+[0 0 10 0])
ax1.Position(1)=ax1.Position(1)+10;
export_fig(1,'-jpg','test')
See attachment for cropped output.