MATLAB可视化(六)特殊的二维图像,如何用matlab绘制条形图、区域图、饼形图、直方图

一、绘制条形图

         条形图 使用函数bar和barh分别绘制纵向和横向的二维条形图,这里给出一个例子:

Y=round(rand(5,3)*10);   %随机产生一个5行3列的矩阵
subplot(2,2,1)   %设置子图,设定绘图区域,在左上角绘图
bar(Y,'group')   %设置纵向条形图,类型为grouped
legend('1','2','3')   %加上一个图例
title 'Group'  %为图像命名为Group
subplot(2,2,2)   %设置子图,设定绘图区域,在右上角绘图
bar(Y,'stacked','yellow')
title 'Stacked'
subplot(2,2,3)  %设置子图,设定绘图区域,在左下角绘图
barh(Y,'stack','red')
title 'Stack'
subplot(2,2,4)  %设置子图,设定绘图区域,在右下角绘图
bar(Y,7.5)  %设置每个条形宽度
title 'Width=7.5' 

     这里的grouped、stacked都是用来表示条形的样式style,group是并列排开,stack是一条上叠加,就像是叠罗汉那种。color与plot绘图的色彩相同,具体可看之前的matlab可视化博客。

运行结果:

 二、区域图area()

      默认情况下,函数area将矩阵各行元素集中,绘制曲线并填充。

举个例子:将Y绘制成区域图,每一列数据是在前一列的基础上累加的。

%2 区域图area()

Y = [1,5,3;
     3,2,7;
     1,5,3;
     2,6,1];  %设置Y数据集
area(Y) %绘制向量Y或者矩阵Y各列的和 也可以area(X,Y)以X为横坐标 Y纵坐标
grid on  %加网格线
colormap summer   %加颜色
set(gca,'Layer','top') 
legend('因素1','因素2','因素3')
title 'ss'

  最下面的折线是第1列数据,中间的是第2和第1 的数据累加,第3同。

三、饼形图

% 3 饼形图 pie()
x=[1 3 0.5 2.5 2 ];
explode=[0 1 0 0 0]; %突出显示第二个元素,使其分离开 需要与数据维数相同
pie(x,explode)
colormap jet

 

四、直方图

% 4 直方图  hist()
x = -6:0.1:6;
y = randn(10000,1);
%  hist(y) 对于y的直方图
hist(y,x)
h = findobj(gca,'Type','patch');
set(h,'Facecolor','r','EdgeColor','w')','w') %设置边界和颜色

 当n=hist(Y):绘制Y的直方图

hist(Y,X):x为向量,x的元素为中心创建分格

猜你喜欢

转载自blog.csdn.net/m0_73982095/article/details/130752847