How to create bar plot with groups x-axis labels

89 visualizaciones (últimos 30 días)
Amir-Homayoun
Amir-Homayoun el 8 de Jul. de 2020
Comentada: Adam Danz el 8 de Jul. de 2020
Hello,
I would like to create a bar plot with the labels in the x-axis grouped. This is what I have created in Excel. As you can see, the x-axis is grouped into
  • 90-min and 1-week, then
  • Theta and Gamma, then
  • Sham and Active
This grouping can be very helpful to avoid long labels. Thanks.

Respuesta aceptada

Alan Stevens
Alan Stevens el 8 de Jul. de 2020
Here's one way (there are almost certainly slicker ways!):
% Arbitrary data
x = 0:10:70;
y = [ 5 2 3 7 8 1 7 4];
% Labels
L1 = ["Sham" "Active"];
L2 = ["Theta" "Gamma"];
L3 = ["90-min" "1-week"];
% Positions for text
yp1 = -0.5*ones(size(x));
yp2 = 2*yp1;
yp3 = -1.5;
% Bar chart
bar(x,y)
set(gca,'Position',[0.13 0.2 0.775 0.775]); % Make space for labels
set(gca,'XTickLabel','') % Remove numbers
% Insert text labels
for i = 1:2:length(x)
text(x(i)-4, yp1(i), L1(1))
text(x(i+1)-4, yp1(i), L1(2))
end
for i = 1:4:length(x)
text(x(i), yp2(i), L2(1))
text(x(i+2), yp2(i), L2(2))
end
text(x(2), yp3, L3(1))
text(x(6), yp3, L3(2))
This resuts in:
  2 comentarios
Amir-Homayoun
Amir-Homayoun el 8 de Jul. de 2020
Fantastic. Thanks Alan. Very helpful.
Adam Danz
Adam Danz el 8 de Jul. de 2020
+1, nicely done.
Also see the 'grouped' style for bar plots.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by