
How to create bar plot with groups x-axis labels
13 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Alan Stevens
2020-7-8
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!