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
Star Strider 2015년 8월 7일

0 개 추천

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])

댓글 수: 2

Daniele
Daniele 2015년 8월 7일
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)
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

질문:

2015년 8월 7일

댓글:

2015년 8월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by