MATLAB图形绘制--创建柱状图
创建柱状图
对于绝大多数的情况,统计对象是一组离散的数据,我们要计算他们的平均值,方差,标准差等。数据可以用柱状图呈现出来,现在我们来看一个例子:
假设某班有36位同学,学生的期末考试成绩为:
100分–1人
96分–2人
90分–4人
88分–2人
85分–3人
84分–1人
82分–2人
78分–7人
75分–4人
70分–6人
69分–1人
63分–2人
55分–1人
我们在MATLAB所做的第1件事就是输入数据,输入分数x和得到该分数的人数y:
>> x = [55 63 69 70 75 78 82 84 85 88 90 96 100];
>> y = [1 2 1 6 4 7 2 1 3 2 4 2 1];
然后生成柱状图:
但这远远不够,我们看到x轴许多数据重合,我们想看到某个分数区间的人数,比如50~59分之间,我们还要对我们的图像进行修改。
现在我们要对成绩区间进行划分:
一位学生在50~59分之间
三位学生在60~69分之间
17位学生在70~79分之间
8位学生在80~89分之间
7位学生在90~100分之间
接下来我们创建两个数组,一个用来存储每个分数段的中间值,另一个存放每个分数段的人数。
>> x = [54.5 64.5 74.5 84.5 94.5];
>> y = [1 3 17 8 7];
>> bar(x,y),xlabel('分数'),ylabel('学生人数'),title('期末考试成绩')
更加专业;
其它的命令:
-
barh:产生水平的柱状图
-
bar3:三维图像
-
bar3h:三维水平图像
例子:
有三个班,分别由三个老师教学,其中在不同的分数段有不同的人数,创建出带有多种数据集合的柱状图可以组合和堆和: -
bar(x,y,‘grouped’)
由于grouped是默认选项,所以我们还可以写成bar(x,y)
-
bar(x,y,‘stacked’)
我们输入的数据是一个多列数组,第一列代表A班成绩分布,以此列类推:
>> x = [54.5 64.5 74.5 84.5 94.5];
>> A = [0;3;18;13;10];...
B = [3;5;20;10;5];...
C = [1;2;15;17;8];
>> y = [A B C];
>> bar(x,y),xlabel('考试分数'),ylabel('学生人数'),legend('A','B','C');
MATLAB图形绘制--创建柱状图
创建柱状图
对于绝大多数的情况,统计对象是一组离散的数据,我们要计算他们的平均值,方差,标准差等。数据可以用柱状图呈现出来,现在我们来看一个例子:
假设某班有36位同学,学生的期末考试成绩为:
100分–1人
96分–2人
90分–4人
88分–2人
85分–3人
84分–1人
82分–2人
78分–7人
75分–4人
70分–6人
69分–1人
63分–2人
55分–1人
我们在MATLAB所做的第1件事就是输入数据,输入分数x和得到该分数的人数y:
>> x = [55 63 69 70 75 78 82 84 85 88 90 96 100];
>> y = [1 2 1 6 4 7 2 1 3 2 4 2 1];
然后生成柱状图:
但这远远不够,我们看到x轴许多数据重合,我们想看到某个分数区间的人数,比如50~59分之间,我们还要对我们的图像进行修改。
现在我们要对成绩区间进行划分:
一位学生在50~59分之间
三位学生在60~69分之间
17位学生在70~79分之间
8位学生在80~89分之间
7位学生在90~100分之间
接下来我们创建两个数组,一个用来存储每个分数段的中间值,另一个存放每个分数段的人数。
>> x = [54.5 64.5 74.5 84.5 94.5];
>> y = [1 3 17 8 7];
>> bar(x,y),xlabel('分数'),ylabel('学生人数'),title('期末考试成绩')
更加专业;
其它的命令:
-
barh:产生水平的柱状图
-
bar3:三维图像
-
bar3h:三维水平图像
例子:
有三个班,分别由三个老师教学,其中在不同的分数段有不同的人数,创建出带有多种数据集合的柱状图可以组合和堆和: -
bar(x,y,‘grouped’)
由于grouped是默认选项,所以我们还可以写成bar(x,y)
-
bar(x,y,‘stacked’)
我们输入的数据是一个多列数组,第一列代表A班成绩分布,以此列类推:
>> x = [54.5 64.5 74.5 84.5 94.5];
>> A = [0;3;18;13;10];...
B = [3;5;20;10;5];...
C = [1;2;15;17;8];
>> y = [A B C];
>> bar(x,y),xlabel('考试分数'),ylabel('学生人数'),legend('A','B','C');
发布评论