MATLAB画柱状图(包括普通柱状图,多组柱状图,三维柱状图)

1.普通柱状图

代码:

clc;clear;
%确定图片的位置和大小,[x y width height]
figure('visible','on','position',[350,200,800,550]); 
%准备数据
X = [70,75,80,85,90];
%每个柱子的颜色设置
color = [200,65,68;200,132,174;249,199,179;100,190,190;10,250,139]/255;  
hold on
% 添加5个柱子,facecolor用来修改颜色               
for i = 1:5
    b = bar(i,X(i),0.9,'stacked');  
    set(b(1),'facecolor',color(i,:))
end
box on
%x轴每个柱子的横坐标
Xlabel = {'A1','A2','A3','A4','A5'};
set(gca,'XTick',[1 2 3 4 5]);
%设置柱状图每个柱子的横坐标
set(gca,'XTickLabel',Xlabel);
%设置小标签字体
set(gca,'FontSize',10,'Fontname','Times New Roman');
%设置纵坐标的数值范围
set(gca,'YLim',[60 100]);
%修改大标签
ylabel('准确率(%)','Fontname','宋体','FontSize',14) 
xlabel('例子','Fontname','宋体','FontSize',14) 
legend(Xlabel,'Location','NorthEast');

示例:
MATLAB画柱状图(包括普通柱状图,多组柱状图,三维柱状图)_第1张图片

2.多组柱状图

代码:

clear;
clc;
figure('position',[150,100,900,550])%确定图片的位置和大小,[x y width height]
%准备数据
Y=[70,75,80,85;70,75,80,85;70,75,80,85;70,75,80,85];
X=1:4;
 %画出4组柱状图,宽度1
h=bar(X,Y,1);      
 %修改横坐标名称、字体
set(gca,'XTickLabel',{'A1','A2','A3','A4'},'FontSize',10,'FontName','Times New Roman');
% 设置柱子颜色,颜色为RGB三原色,每个值在0~1之间即可
set(h(1),'FaceColor',[30,150,252]/255)     
set(h(2),'FaceColor',[162,214,249]/255)    
set(h(3),'FaceColor',[252,243,0]/255)    
set(h(4),'FaceColor',[255,198,0]/255)    
ylim([60,100]);      %y轴刻度
%修改x,y轴标签
ylabel('\fontname{宋体}\fontsize{14}准确率(%)');
xlabel('\fontname{宋体}\fontsize{14}不同组'); 
%修改图例
legend({'\fontname{宋体}例\fontname{Times New Roman}A','\fontname{宋体}例\fontname{Times New Roman}B','\fontname{宋体}例\fontname{Times New Roman}C','\fontname{宋体}例\fontname{Times New Roman}D'},'FontSize',11);

示例:
MATLAB画柱状图(包括普通柱状图,多组柱状图,三维柱状图)_第2张图片

3.三维柱状图

代码:

clc;clear;
%确定图片的位置和大小,[x y width height]
figure('position',[150,100,750,650]);
%准备数据
Z=[70,75,80,85;70,75,80,85;70,75,80,85;70,75,80,85];
%设置柱子颜色,颜色为RGB三原色,每个值在0~1之间即可
color_matrix = [100,255,150;50,152,65;129,211,176;108,99,117]/255;
%画柱状图
h=bar3(Z,0.8);
axis([-inf inf -inf inf 60 100])
for n=1:numel(h)
    cdata=get(h(n),'zdata');
    set(h(n),'cdata',cdata,'facecolor',color_matrix(n,:));
end
%设置小标签
set(gca,'yticklabel',{'A1','A2','A3','A4'},'Fontname','Times New Roman','FontSize',11);
set(gca,'xticklabel',{'M_1','M_2','M_3','M_4'},'Fontname','Times New Roman','FontSize',11);
%修改每个轴的标签
ylabel('标签Y','Fontname','宋体','FontSize',14);
xlabel('标签X','Fontname','宋体','FontSize',14);
zlabel('标签Z','Fontname','宋体','FontSize',14);
legend({'M_1','M_2','M_3','M_4'});

示例:
MATLAB画柱状图(包括普通柱状图,多组柱状图,三维柱状图)_第3张图片

你可能感兴趣的:(Matlab,matlab)