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的句柄 举例: 某发动机转速与扭矩关系为: ![](https://file.jishuzhan.net/article/1786372910206685186/e4bcadfb0bfc2ea551a6d0456d7ebb59.webp) 发动机的功率公式为: ![](https://file.jishuzhan.net/article/1786372910206685186/ea2e98a62870ef224bca2ecf5947ba6a.webp) 发动机转速范围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'); ![](https://file.jishuzhan.net/article/1786372910206685186/2380b053f737f731023e51d6fd4ac04f.webp) #### ⑦对数坐标轴绘制 对数坐标图分为半对数坐标图和全对数坐标图.也称单对数坐标图和双对数坐标图, 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'); ![](https://file.jishuzhan.net/article/1786372910206685186/8912312d024eb4d91c3ebe09ffd14bbd.webp) 变换另一种形式: 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 ![](https://file.jishuzhan.net/article/1786372910206685186/06b406e5681abdfb05b8c6404acc9200.webp) #### ②饼状图的绘制 饼状图显示ー个数据系列中各项的大小与各项总和的比例。饼状图中的数据点显示为整 个饼状图的百分比。 饼状图绘制的基本命令格式如下。 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); ![](https://file.jishuzhan.net/article/1786372910206685186/cc39af95ff495ed7bb268a3893737441.webp) #### ③阶梯图的绘制 阶梯图绘制的命令格式如下。 stairs(x,y);绘制阶梯图。 举例: x=1:1:100; y=1:2:200; plot(x,y); hold on stairs(x,y); ![](https://file.jishuzhan.net/article/1786372910206685186/cd176ee24266363e6afec035b8f96f1f.webp) #### ④离散数据散点图的绘制 散点图是指数据点在直角坐标系平面上的分布图.它表示因变量随自变量而变化的大致趋势。 离散数据散点图绘制的命令格式如下。 stem(x,y):绘制离散数据散点图。 举例: x=1:5:100; y=1:10:200; stem(x,y); ![](https://file.jishuzhan.net/article/1786372910206685186/ab6f429687c35ae22356d325b32a96c2.webp)

相关推荐
studyer_domi10 小时前
Matlab 234-锂电池充放电仿真
开发语言·matlab
翱翔-蓝天1 天前
MATLAB 在医疗行业的应用
开发语言·matlab
hie988941 天前
matlab稳定求解高精度二维对流扩散方程
算法·机器学习·matlab
买了一束花1 天前
MATLAB导出和导入Excel文件表格数据并处理
人工智能·算法·matlab
是代码侠呀2 天前
飞蛾扑火算法matlab实现
开发语言·算法·matlab·github·github star·github 加星
phoenix@Capricornus2 天前
MATLAB Deep Learning Toolbox
人工智能·深度学习·matlab
passionSnail2 天前
《用MATLAB玩转游戏开发》Flappy Bird:小鸟飞行大战MATLAB趣味实现
开发语言·matlab
yt948322 天前
Matlab实现绘制任意自由曲线
开发语言·matlab
IT猿手2 天前
基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码
深度学习·算法·matlab·无人机·强化学习·qlearning·无人机路径规划
机器学习之心2 天前
MATLAB的cvpartition函数用法
matlab