clear;clc;
%% 表三
N=[171 160 212 197 192 200 198];
h=bar3(N);
%%%%% 这一段代码是在网上搜索得到的,并非自己的原创,但出处记不得了%%%%
%%%%%% 该代码用来实现不同的柱子用不同的颜色显示%%%%
cm = get(gcf,'colormap'); % Use the current colormap.
cnt = 0;
for jj = 1:length(h)
xd = get(h(jj),'xdata');
yd = get(h(jj),'ydata');
zd = get(h(jj),'zdata');
delete(h(jj))
idx = [0;find(all(isnan(xd),2))];
if jj == 1
S = zeros(length(h)*(length(idx)-1),1);
dv = floor(size(cm,1)/length(S));
end
for ii = 1:length(idx)-1
cnt = cnt + 1;
S(cnt) = surface(xd(idx(ii)+1:idx(ii+1)-1,:),...
yd(idx(ii)+1:idx(ii+1)-1,:),...
zd(idx(ii)+1:idx(ii+1)-1,:),...
'facecolor',cm((cnt-1)*dv+1,:));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ylabel('统计量')
zlabel('人数')
%%%%%% 这一段代码用来调整视角 %%%%%%
az = 100;
el = 10;
view(az, el);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% 这一段代码用来加入灰色背景 %%%%%
X=[1.4;0.7;0.7;1.4];Y=[8;8;0;0];Z=[0;0;0;0];
patch(X,Y,Z,[0.7 0.7 0.7])
X=[1.4;0.7;0.7;1.4];Y=[8;8;8;8];Z=[0;0;250;250];
patch(X,Y,Z,[0.8 0.8 0.8],'FaceAlpha',0.4)
X=[0.7;0.7;0.7;0.7];Y=[8;8;0;0];Z=[0;250;250;0];
patch(X,Y,Z,[0.8 0.8 0.8],'FaceAlpha',0.4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
set(gca,'YTickLabel',{'A','B','C','D','E','F','G'});
text(0.9,1.1,181,'171')
text(0.9,2.1,170,'160')
text(0.9,3.1,222,'212')
text(0.9,4.1,207,'197')
text(0.9,5.1,202,'192')
text(0.9,6.1,210,'200')
text(0.9,7.1,208,'198')
close(gcf);