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)

相关推荐
yugi9878386 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
IT猿手15 小时前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
fie888918 小时前
基于MATLAB的转子动力学建模与仿真实现(含碰摩、不平衡激励)
开发语言·算法·matlab
机器学习之心19 小时前
基于GRU门控循环单元的轴承剩余寿命预测MATLAB实现
深度学习·matlab·gru·轴承剩余寿命预测
简简单单做算法19 小时前
基于FFT粗估计和LS最小二乘法精估计的正弦信号参数估计和检测matlab仿真
matlab·最小二乘法·参数估计·fft粗估计·ls最小二乘法
kaikaile199519 小时前
基于MATLAB的滑动轴承弹流润滑仿真程序实现
开发语言·matlab
Not Dr.Wang4221 天前
FIR数字滤波器设计的两种实现
matlab
3GPP仿真实验室1 天前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
民乐团扒谱机2 天前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树
Evand J2 天前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop