MATLAB可视化图形绘制详解

图形常见的修饰命令

①曲线修饰

曲线修饰包括曲线的顔色、线型和标示符号的设置。曲线修饰的命令格式如下。

plot(x,y,'option'):option定义了曲线的颜色、线型和标示符号。

MATLAB曲线修饰的各种选项见表

举例:

x=-2*pi:pi/50:2*pi;

y1=x.^2;y2=cos(2*X);y3=y1.*y2;plot(x,y1,'g+');holdon;plot(x,y2,'r:*');holdon;plot(x,y3,'b--.')

②图形坐标轴设置

1.坐标轴范围设置。命令格式如下。

axis([xmin xmax ymin ymax]):设置坐标轴的最小值和最大值。

其中xmin和xmax分别为:x轴的最小值和最大值;ymin和ymax分别为y轴的最小值和最大值。默认是自动设置坐标轴显示的上下限。

2.坐标轴标注设置。命令格式如下。

xlabel('字符串'):在x轴上设置标签。

ylabel('字符串'):在y轴上设置标签

其中字符串表示在x、y坐标轴上要显示的名称和单位等。

3.坐标轴数据显示。命令格式如下。

set(gca,'XTick',x1;x2:x3):设置x坐标轴的刻度值。

set(gca,'YTick',y1:y2:y3):设置y坐标轴的刻度值。

其中gca表示当前图形:XTick表示X轴坐标刻度;x1、x2、x3分别为x坐标轴的起点坐标值、坐标间隔和终点坐标值:YTick表示y轴坐标刻度;y1、y2、y3分别为y坐标轴的起点坐标值、坐标间隔和终点坐标值。

axis函数功能丰富.常用的命令格式还有以下几种。

axis equal;纵、横坐标轴采用等长刻度。

axis square:产生正方形坐标系.缺省为长方形。

axis auto:使用缺省设置。

axis off:取消坐标轴。

axis on;显示坐标轴

举例:

某发动机转速与扭矩的关系为:

绘制发动机转速n=0~5000r/min的转速-扭矩曲线,并对坐标轴进行设置

n=0:100:5000;

T=(6.711e-10)*n.^3-(1.837e-5)*n.^2+0.08672*n+78.25;

plot(n,T);

xlabel('转速/(r/min)');

ylabel('扭矩/(N.m)');

set(gca,'XTick',0:1000:5000);

set(gca,'YTick',0:40:200);

axis([0 5000 0 200]);

③图形标注

图形标注主要有以下3种方式。

1.在图形屏幕上开启ー个小视窗,依据绘图命令的先后顺序,用对应的字符串区分图形上的曲线。

2.在图形的指定坐标位置(x,y)处标注单引号括起来的字符串。

3.在图形的最上端显示说明该图形标题的字符串。

图形标注的命令格式如下。

legend('字符串','字符串',......);在图形小视窗内标注。

text(x,y,'字符串'):在图形指定位置(x,y)处标注。

title('字符串'):在图形最上端标注

④图形栅格和边框控制

1.图形栅格控制。在图形上添加或删除栅格的命令格式如下。

grid on:在当前坐标系上添加栅格。

gridoff;从当前坐标系上删除栅格。

2.国形边框控制。图形边框的命令格式如下。

box on:在当前图形上添加边框。

boxoff;从当前图形上删除边框。

⑤图形窗口的设置

1.图形窗ロ打开。命令格式如下。

figure(n):设置第n个图形窗ロ。

2.图形窗口分割。命令格式如下。

subplot(m,n,p):设置m*n个子窗口。其中m为绘图区的行数;n为绘图区的列数;P为图形编号

⑥双纵坐标图的绘制

双纵坐标图是指具有两个纵坐标的图形,即把两条不同的曲线绘制在同一坐标中。双纵坐标图绘制的命令格式如下。

plotyy(x1,y1,x2,y2):绘制双纵坐标图。

其中x1、y1对应一条曲线,x2、y2对应另一条曲线,y1对应左纵坐标轴,y2对应右纵坐标轴。

双纵坐标图返回参数的命令格式如下。

[AX,H1,H2]=plotyy(x1,y1,x2,y2):获得坐标轴和图形的句柄。其中AX是坐标轴的句柄,AX(1)为左纵坐标轴的句柄.AX(2)为右纵坐标轴的句柄,H1为图形1的句柄,H2为图形2的句柄

举例:

某发动机转速与扭矩关系为:

发动机的功率公式为:

发动机转速范围n=0~5000r/min,请用双纵坐标绘制扭矩、功率与转速的曲线

n=1000:100:5000;

T=(6.711e-10)*n.^3-(1.837e-5)*n.^2+0.08672*n+78.25;

P=T.*n./9550;

[AX,H1,H2]=plotyy(n,P,n,T);

set(get(AX(1),'ylabel'),'string','功率/kW');

set(get(AX(2),'ylabel'),'string','扭矩/(N.m)');

xlabel('转速/(r/min)');

set(AX(1),'Ylim',[0,100]);

set(AX(2),'Ylim',[100,200]);

set(AX(1),'yTick',0:50:100);

set(AX(2),'yTick',100:50:200);

text(2000,50,'功率');

text(2000,50,'扭矩');

set(H2,'color','r');

⑦对数坐标轴绘制

对数坐标图分为半对数坐标图和全对数坐标图.也称单对数坐标图和双对数坐标图,

1.半对数坐标图。绘制的命令格式如下。

semilogx(x,y,'选项'):绘制以x轴为对数坐标、y轴为线性坐标的半对数坐标图。

semilogy(x,y,选项'):绘制以y轴为对数坐标、x轴为线性坐标的半对数坐标图。其中选项包括颜色、线型和标示符号,也可缺省。

2.全对数坐标图。绘制的命令格式如下。loglog(x,y,'选项'):绘制以x轴、y轴为对数坐标的全对数坐标图

⑧极坐标图的绘制

极坐标图是指在极坐标系中绘制的图。极坐标系是指在平面内由极点、极轴和极径组成的坐标系。在平面上取定一点o,称为极点,从o出发引一条射线ox.称为极轴.再取定ー个单位长度.通常规定角度取逆时针方向为正,这样,平面上任一点p的位置就可以用线段op的长度ρ以及从ox到op的角度θ来确定,有序数对(ρ,θ)就称为p点的极坐标,ρ称为p点的极径.θ称为p点的极角。极坐标图绘制的命令格式如下。

polar(theta,rho,'选项'):绘制极坐标图。

其中theta为极角;rho为极径;选项的内容为曲线的颜色、线型和标示符号

统计图形的绘制

①直方图的绘制

直方图是ー种统计报告图.由一系列高度不等的纵向条纹或线段表示数据分布的情况。 直方巧绘制的常见命令格式如下。

bar(x,y):绘制二维竖直方图。

barh(x,y):绘制二维横直方图。

bar3(x,y):绘制三维竖直方图。

barh3(x,y);绘制三维横直方图。

可以对直方图进行修饰。

bar(__,width):设置条形的相对宽度与控制组中各个条形的间隔。

例如,bar(x,y,0.4)表示将各条形的宽度设置为各条形可用总空间的40%。

bar(__,corlor):设置所有条形的颜色。例如,bar(x,y,'r')表示红色条形。

举例

x=1:1:5;

y=[2 5 3 2 4];

bar(x,y,0.2,'g');

变换另一种形式:

x=1:1:5;

y=[2 5 3 2 4];

bar(x,y,0.8,'g');

axis([0 8 0 10]);

for i=1:length(x)

text(i,y(i)-0.5,num2str(y(i)),'color','b');

end

②饼状图的绘制

饼状图显示ー个数据系列中各项的大小与各项总和的比例。饼状图中的数据点显示为整 个饼状图的百分比。 饼状图绘制的基本命令格式如下。

pie(x):绘制二维饼状图。

pie3(x):绘制三维饼状图。

饼状图的每个扇区代表x中的ー个元素;当x中的值的个数大于1时.转化成100%的 比例进行绘制。

举例:

x=[125 88 101];

subplot(1,2,1);

pie(x);

legend('大','中','小');

subplot(1,2,2);

pie3(x);

③阶梯图的绘制

阶梯图绘制的命令格式如下。

stairs(x,y);绘制阶梯图。

举例:

x=1:1:100;

y=1:2:200;

plot(x,y);

hold on

stairs(x,y);

④离散数据散点图的绘制

散点图是指数据点在直角坐标系平面上的分布图.它表示因变量随自变量而变化的大致趋势。 离散数据散点图绘制的命令格式如下。

stem(x,y):绘制离散数据散点图。

举例:

x=1:5:100;

y=1:10:200;

stem(x,y);

相关推荐
吱吱鼠叔5 分钟前
MATLAB计算与建模常见函数:5.曲线拟合
算法·机器学习·matlab
吱吱鼠叔9 小时前
MATLAB数据文件读写:2.矩阵数据读取
数据库·matlab·矩阵
橙意满满的西瓜大侠9 小时前
matlab入门学习(二)矩阵、字符串、基本语句、函数
matlab
kuan_li_lyg12 小时前
MATLAB - 机械臂手眼标定(眼在手内) - 估计安装在机器人上的移动相机的姿态
开发语言·人工智能·matlab·机器人·ros·机械臂·手眼标定
感谢地心引力12 小时前
【MATLAB2024b】安装离线帮助文档(windows)
windows·matlab
通信仿真实验室15 小时前
(4)MATLAB生成CRC校验码
开发语言·数据结构·matlab
月白风清江有声15 小时前
关于KKT条件的线性约束下非线性问题-MATLAB
开发语言·算法·matlab
柠檬少少开发15 小时前
基于MATLAB的安全帽检测系统
matlab
科研工作站15 小时前
MATLAB|电气互联系统有功-无功协同优化模型
matlab·综合能源·电气·有功·无功·电气互联
kuan_li_lyg16 小时前
MATLAB - 机械臂手眼标定(眼在手外) - 估算固定相机相对于机器人基座的姿态
开发语言·人工智能·matlab·机器人·ros·机械臂·手眼标定