How to remove space between grouped bars in a bar graph?

조회 수: 15 (최근 30일)
Krishnashish Bose
Krishnashish Bose 2021년 6월 14일
편집: Krishnashish Bose 2021년 6월 16일
Adjusting space betwwen bars of a normal bar graph is pretty straightforward. However, there doesn't seem to be a way of doing the same for grouped bars. I am not asking about the space between bars of the same group, but the space between groups.

답변 (1개)

Scott MacKenzie
Scott MacKenzie 2021년 6월 15일
편집: Scott MacKenzie 2021년 6월 15일
Here's an approach that might be useful. What if you ungroup the data first? There will be no space between the groups, because there are no groups per se. But, to retain the "grouping", you need the same color sequence as if the data were grouped. Below is the code. The bottom chart is what you are looking for (I think).
y1 = rand(3,4); % grouped data
y2 = reshape(y1',[], 1); % same data, ungrouped
tiledlayout(2,1);
nexttile;
b1 = bar(y1);
cd = [b1(:).FaceColor];
cd = reshape(cd',3,[])';
nexttile;
b2 = bar(y2, 'facecolor', 'flat'); % same data, same colors, no space between groups
b2.CData = repmat(cd, length(b2.XData)/size(cd,1),1);
  댓글 수: 1
Krishnashish Bose
Krishnashish Bose 2021년 6월 16일
편집: Krishnashish Bose 2021년 6월 16일
Thanks Scott. What you mentioned is how I have been doing it, but it becomes confusing which bars are of the same or adjacent groups. I heard from Mathworks team today that it cannot be done currently, and they would introduce this feature in future versions of Matlab.

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

카테고리

Help CenterFile Exchange에서 Bar Plots에 대해 자세히 알아보기

태그

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by