I\'m using the below code to save a figure:
fig1=figure(\'visible\',\'off\');
b = bar(bar_res);
x={\'a\' ;\'b\' ;\'c\'; \'d\' ;\'e\'; \'f\' ;\'g\'; \'h\';...
Just set the x-limits with xlim
:
set(gca,'XLim',[0 numel(x)+1]);
Example:
fig1 = figure('visible','on');
b = bar(randi(10,21,1).');
x = {'a' ;'b' ;'c'; 'd' ;'e'; 'f' ;'g'; 'h';...
'i'; 'j' ;'k'; 'l'; 'm'; 'n' ;'o'; 'p' ;'q' ;'r'; 's';...
't';'u'};
set(gca,'XTick',1:21);
set(gca,'XTickLabel',x);
set(gca,'XLim',[0 numel(x)+1]);
% rotateXLabels( gca, 90 );
with = char('Res with dash');
without = char('Res without dash');
legend('Reference',with,without,'Location','northwest');
set(gca,'FontSize',16);
y = ylabel('Number of trials','rot',90,'FontSize',18);
By the way, if you have Matlab R2014b or higher you don't need rotateXLabels
anymore. Just use:
ax = gca;
ax.XTickLabelRotation = 90;
A simple solution may be if you call axis tight
. However it may not be the result you want because it does remove the small spaces at the borders of the plot.