# Plotting Bar Graphs with just ones group

11 views (last 30 days)
Daniele on 7 Aug 2015
Commented: Star Strider on 7 Aug 2015
Hello everyone, I would like to produce a bar plot composed by grouped bars. The problem rises when i want to plot just one group:
x = [5], y = [2, 4, 7]
because Matlab sees it as a normal bar plot. I've tried to add the 'grouped' otpions but it does not work. The solution in the following link works but does not permit to use the nan padding along the x axis. Do you have a suggestion?

Star Strider on 7 Aug 2015
I’m not certain what result you want, but one option is to play with the axis limits:
x = [5];
y = [2, 4, 7];
figure(1)
hb = bar([x; 2*x], [y; nan(1,3)]);
axis([3 7 ylim])

Daniele on 7 Aug 2015
Thank you for your answer. Your solution work but changing the x-axis for me does not work because I cannot change the x-axis (in my particular case)
Star Strider on 7 Aug 2015
This is likely as close as I can get (in R2015a). (If you’re using R2014a or earlier, this requires a different approach,)
The code:
x = [5];
y = [2, 4, 7];
figure(1)
hBar = bar([x; 2*x], [y; nan(1,3)]);
for k1 = 1:size(hBar,2)
ctr(k1,:) = bsxfun(@plus, hBar(k1).XData, [hBar(k1).XOffset]'); % Centres Of Bar Groups
ydt(k1,:) = hBar(k1).YData; % Y-Data Of Bar Groups
xdt(k1,:) = hBar(k1).XData; % X-Data Of Bar Groups
hBar(k1).XData(:,2) = [];
end