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

14 visualizaciones (últimos 30 días)
Krishnashish Bose
Krishnashish Bose el 14 de Jun. de 2021
Editada: Krishnashish Bose el 16 de Jun. de 2021
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.

Respuestas (1)

Scott MacKenzie
Scott MacKenzie el 15 de Jun. de 2021
Editada: Scott MacKenzie el 15 de Jun. de 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 comentario
Krishnashish Bose
Krishnashish Bose el 16 de Jun. de 2021
Editada: Krishnashish Bose el 16 de Jun. de 2021
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Bar Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by