How to remove space between grouped bars in a bar graph?
14 views (last 30 days)
Show older comments
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.
0 Comments
Answers (1)
Scott MacKenzie
on 15 Jun 2021
Edited: Scott MacKenzie
on 15 Jun 2021
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 Comment
See Also
Categories
Find more on Bar Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!