matlab(二)统计图
一、条形类图形
(1)条形图
bar函数:绘制垂直条形图。 barh函数:绘制水平条形图。
bar函数 bar(y,style)
“grouped”:簇状分组
“stacked”:堆积分组
其中,参数y是数据,选项style用于指定分组排列模式
样例一: 绘制分组条形图。
y=[1,2,3,4,5; 1,2,3,2,1; 5,4,3,2,1];
subplot(1,2,1)
bar(y)
title('Group')
subplot(1,2,2)
bar(y, 'stacked')
title('Stack')
bar函数
bar(x, y,style)
其中,x存储横坐标,y存储数据,y的行数必须与向量x的长度相 同。选项style用于指定分组排列模式。
样例二:绘制 条形图。
x=[2015,2016,2017];
y=[68,80,115,100,102; 75,88,102,99,110; 81,86,125,105,115];
bar(x, y)
title('Group');
(2)直方图
hist函数:绘制直角坐标系下的直方图。 rose函数:绘制极坐标系下的直方图。
hist(y, x) 其中,y是要统计的数据,x用于指定区间的划分方式。若x是标 量,则统计区间均分成x个小区间;若x是向量,则向量x中的每一个 数指定分组中心值,元素的个数为数据分组数。x缺省时,默认按10 个等分区间进行统计。
样例三:绘制服从高斯分布的直方图。
y=randn(500,1);
subplot(2,1,1);
hist(y);
title('高斯分布直方图');
subplot(2,1,2);
x=-3:0.1:3;
hist(y,x);
title('指定区间中心点的直方图')
rose函数
rose(theta[,x])
其中,参数theta用于确定每一区间与原点的角度,选项x用于指 定区间的划分方式
样例四:绘制高斯分布数据在极坐标下的直方图
y=randn(600,1);
theta=y*pi;
rose(theta)
title('在极坐标下的直方图')
二、面积类图形
①扇形图 pie函数
pie(x, explode)
其中,参数x存储待统计数据,选项explode控制图块的显示模式。
样例五:扇形统计图
score = [5, 17, 23, 11, 4];
ex = [0,0,0,0,1];
pie(score, ex)
legend('优秀', '良好', '中等', '及格','不及格', 'location', 'eastoutside')
②面积图 area函数
三、散点类图形
scatter函数:散点图 stairs函数: 阶梯图 stem函数: 杆图
scatter(x, y, 选项, 'filled') 其中,x、y用于定位数据点,选项用于指定线型、颜色、数据 点标记。如果数据点标记是封闭图形,可以用选项‘filled’指定 填充数据点标记。该选项省略时,数据点是空心的
样例六: 以散点图形式绘制桃心曲线,曲线的参数方程如下:
t = 0:pi/50:2*pi;
x = 16*sin(t).^3;
y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
scatter(x,y,'rd','filled')
四、矢量类图形
quiver函数 quiver函数调用格式: quiver(x, y, u, v) 其中,(x, y)指定矢量起点,(u, v)指定矢量终点。x、y、u、v 是同样大小的向量或同型矩阵,若省略x、y,则在x-y平面上均匀取 若干个点作为起点
样例七:已知向量A、B,求A+B,并用矢量图表示。
A=[4,5]; B=[-6,0]; C=A+B;
hold on;
quiver(0, 0, A(1), A(2));
quiver(0, 0, B(1), B(2));
quiver(0, 0, C(1), C(2));
text(A(1),A(2),'A');
text(B(1),B(2),'B');
text(C(1),C(2),'C');
axis ([-12, 6, -1, 6])
grid on