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];

然后生成柱状图:

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('期末考试成绩')

更加专业;
2
其它的命令:

  • barh:产生水平的柱状图
    3

  • bar3:三维图像
    4

  • bar3h:三维水平图像
    5
    例子:
    有三个班,分别由三个老师教学,其中在不同的分数段有不同的人数,创建出带有多种数据集合的柱状图可以组合和堆和:

  • 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');

练习

发布了84 篇原创文章 · 获赞 18 · 访问量 5805

猜你喜欢

转载自blog.csdn.net/qq_44486550/article/details/105307680