图形可以帮助人们等好的理解庞大的数字数据,直接转换成为直观结果,数值计算和符号计算无论多么正确,都无法从大量的数值与符号之中感受和分析出结果的内在本质,绘图可以很好的将各种数据表现出来

7.1. 图形属性设置

7.1.1. 坐标系与坐标轴

1.坐标系的调整:
注意,一般情况下,matlab会根据要绘制的曲线数据范围自动选择合适的坐标系,因此用户不必自己选择绘图坐标系,但是,如果用户觉得自动选择的坐标不合适,可以利用axis()函数来选择新的坐标系;
在这里插入图片描述
2.坐标轴控制:
axis命令用于控制坐标轴的长度,刻度,显示等特征,调用有多种格式;
在这里插入图片描述
在这里插入图片描述

实例:演示坐标系与坐标转换

在这里插入图片描述

7.1.2. 图形注释:

MATLAB中提供了一些图形标注函数,为图形添加标题,为坐标轴添加标注,为图形添加图例,把说明注释文本放在图形的任何位置;

1)填充图形:
在这里插入图片描述
例:绘制填充正弦图形:
在这里插入图片描述
2)注释图形标题和轴名称:
title命令用于给对象加标题
在这里插入图片描述
对坐标抽进行标注
在这里插入图片描述
3. 图形标注
在给所绘得的图形进行详细的标注,最常用的两个命令就是text和gtext,他们均可以在图形的具体部位进行标注

4.text命令:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上表中的这些命令与上面一样,可以通过get命令来进行查看,用set命令来进行修改

实例:基于正弦函数图形

在这里插入图片描述
在这里插入图片描述
5.gtext命令:

gtext命令可以让用户在图形的任意位置进行标注
在这里插入图片描述
实例:倒数函数图形
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.图例标注:
当在一幅图中出现多种图线的时候,用户可以根据自己的需要,利用legend命令来对不同的图例进行说明,图形标注是很有意义的
在这里插入图片描述
在这里插入图片描述
7.分割线控制:

为了使图像的可读性增强,我们使用grid命令给二维或者三维图形的坐标面增加分割线
也有很多种不同的调用格式:
在这里插入图片描述
在这里插入图片描述
注意区分一下:hold on 与grid on

7.2. 特殊图形:

为了满足用户的各种需求,matlab提供了绘制条形图,面积图,饼图,火柴图等特殊图形的命令

7.2.1. 统计图形

1.条形图:
分为二维和三维的情况,
在这里插入图片描述
2.面积图:
面积图在实际应用之中可以表现不同部分对整体的影响,绘图命令是area
在这里插入图片描述
3.饼图:
饼图用来显示向量或者矩阵之中个元素所占的比例,将统计数据可视化,
1)二维绘图命令是pic,
2)三维绘图命令是pic3
二者调用格式十分相似:
在这里插入图片描述

实例:绘制矩形图形

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.柱状图:
柱状图是数据分析之中用的很多的一类图,绘制命令有两条:
在这里插入图片描述
两者的命令调用格式如下所示:
在这里插入图片描述

实例:各个季度所占盈利总额的比例统计图

在这里插入图片描述

实例:绘制饼状图

创建服从高斯分布的数据柱状图,再将这些数据分到范围为指定的若干个相同的柱状图中和极坐标系下的柱状图
在这里插入图片描述

7.2.2. 离散数据图形:

除了上面所提到的统计图形外,还提供了一些在工程计算上常用的离散数据模型

1.误差棒图
绘图命令是errorbar,也存在很多不同的调用格式
在这里插入图片描述
在这里插入图片描述
横向显示的是y的每一个元素编号,第1个,第2个,等等,都是编号,
误差棒的中点对应纵轴就是y的每一个元素具体值,误差棒的下方或者上方总有一个值对应x的相应位置的元素,误差棒的总长度就是二倍的误差值,误差棒的一半才是真正的误差。

2.火柴杆图:
用线条表示数据点与x轴的距离,用一小圆圈或者其他指定的符号与线条项链,就是火柴杆图,
1)二维条件下的调用指令是stem,
2)三维条件下的调用指令是stem3,
在这里插入图片描述

实例:绘制三维火柴杆图

在这里插入图片描述
在这里插入图片描述

3.阶梯图:
在这里插入图片描述

实例:绘制阶梯图

在这里插入图片描述
在这里插入图片描述

7.2.3. 向量图形:

由于物理等学科的需要,在实际中有时会需要绘制一些带方向的图形,即向量图,MATLAB中也可以解决这个需求

1.罗盘图:
罗盘图即为起点为坐标原点的二维或者三维向量,同时还会有分割线显示,
绘图命令是compass,调用格式有很多
在这里插入图片描述

2.羽毛图:
在横坐标上等距地显示向量的图形,看起来就像鸟的羽毛一样,绘制的命令是feather,调用格式也有很多。
在这里插入图片描述

实例:罗盘图与羽毛图

在这里插入图片描述
3.箭头图:
箭头的方向即为向量的方向,箭头的长短代表向量的大小,
1)quiver绘制二维图形;
2)quiver3绘制三维图形;
在这里插入图片描述

实例:绘制箭头图形

在这里插入图片描述
在这里插入图片描述

7.3. 综合示例–部门工资统计图分析:

对某部门的工资情况进行分类汇总,利用统计功能的图形功能便于分析各部门工资的平均水平,包括基本工资和实发工资
在这里插入图片描述
在这里插入图片描述
步骤1)创建统计工资对应的矩形

clear
>> %创建统计工资对应的矩形
 jb=[800;685;685;613;800;613;800;685;613;613;800;685;613;613;685;613]   %基本工资统计
jb =
   800
   685
   685
   613
   800
   613
   800
   685
   613
   613
   800
   685
   613
   613
   685
   613
>>  jj=[700;700;600;600;700;700;700;700;600;600;700;600;600;600;700;600];    %奖金统计
 zf=[130;100;100;100;130;100;130;100;100;100;130;100;100;100;130;100];   %住房基金统计
 bx=100*ones(16) ;
 bx=bx(:,1)                                                              %保险统计
bx =
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
   100
>>  SF=jb+jj+zf+bx                                                        %实发工资结果
SF =
        1730
        1585
        1485
        1413
        1730
        1513
        1730
        1585
        1413
        1413
        1730
        1485
        1413
        1413
        1615
        1413
>>  Z=[jb jj zf bx SF]                                                   %工资清单统计结果 
Z =
         800         700         130         100        1730
         685         700         100         100        1585
         685         600         100         100        1485
         613         600         100         100        1413
         800         700         130         100        1730
         613         700         100         100        1513
         800         700         130         100        1730
         685         700         100         100        1585
         613         600         100         100        1413
         613         600         100         100        1413
         800         700         130         100        1730
         685         600         100         100        1485
         613         600         100         100        1413
         613         600         100         100        1413
         685         700         130         100        1615
         613         600         100         100        1413
>> 

步骤2)绘制条形图:

%绘制条形图
 subplot(2,3,1)
 bar(Z)
 title('二维条形图')
 subplot(2,3,2)
 bar3(Z),title('三维条形图')

在这里插入图片描述
步骤3)绘制面积图:

%绘制饼形图
 subplot(2,3,3)
 area(Z)
 grid on
 colormap summer
 set(gca,'layer','top')
 title('面积图')

在这里插入图片描述
步骤4)对工资多少进行排序:

 %对工资多少进行排序
 max(Z)                                                %求最大值
ans =
         800         700         130         100        1730
 sort(Z)                                               %从小到大排列工资单
ans =
         613         600         100         100        1413
         613         600         100         100        1413
         613         600         100         100        1413
         613         600         100         100        1413
         613         600         100         100        1413
         613         600         100         100        1413
         613         600         100         100        1485
         685         600         100         100        1485
         685         700         100         100        1513
         685         700         100         100        1585
         685         700         100         100        1585
         685         700         130         100        1615
         800         700         130         100        1730
         800         700         130         100        1730
         800         700         130         100        1730
         800         700         130         100        1730
mad(Z)                                                 %求绝对差分平均值
ans =
   60.5938   50.0000   12.8906         0  114.2031
 M=range(Z)                                                %求工资差
M =
   187   100    30     0   317

步骤5)绘制饼形图:

%绘制饼形图
 subplot(2,3,4)
 pie(M)
 title('二维饼图') 
 subplot(2,3,5)
 explode=[0 0 0 1 1];
 pie3(M,explode)
 title('三维分离饼图')
%绘制柱状图
 subplot(2,3,6)
 hist(M)
 title('高斯分布柱状图')

在这里插入图片描述
程序完整代码:

%创建统计工资对应的矩形
 jb=[800;685;685;613;800;613;800;685;613;613;800;685;613;613;685;613]   %基本工资统计
 jj=[700;700;600;600;700;700;700;700;600;600;700;600;600;600;700;600];    %奖金统计
 zf=[130;100;100;100;130;100;130;100;100;100;130;100;100;100;130;100];   %住房基金统计
 bx=100*ones(16) ;
 bx=bx(:,1)                                                              %保险统计
 SF=jb+jj+zf+bx                                                        %实发工资结果

 Z=[jb jj zf bx SF]                                                   %工资清单统计结果 
%绘制条形图
 subplot(2,3,1)
 bar(Z)
 title('二维条形图')
 subplot(2,3,2)
 bar3(Z),title('三维条形图')
%绘制饼形图
 subplot(2,3,3)
 area(Z)
 grid on
 colormap summer
 set(gca,'layer','top')
 title('面积图')
%对工资多少进行排序
 max(Z)                                                %求最大值
 sort(Z)                                               %从小到大排列工资单

 mad(Z)                                                 %求绝对差分平均值

 M=range(Z)                                                %求工资差
%绘制饼形图
 subplot(2,3,4)
 pie(M)
 title('二维饼图') 
 subplot(2,3,5)
 explode=[0 0 0 1 1];
 pie3(M,explode)
 title('三维分离饼图')
%绘制柱状图
 subplot(2,3,6)
 hist(M)
 title('高斯分布柱状图')
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐