首页 > 其他分享 >Matlab中plot函数参数解析

Matlab中plot函数参数解析

时间:2022-11-02 08:33:39浏览次数:72  
标签:... 20 plot 曲线 函数参数 Matlab 绘制 属性

功能

二维曲线绘图

 

语法

1 2 3 4 5 6 7 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...)

 

描述

plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。

 

plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。

 

X

Y

 

备注

m×n

m×n

按列取坐标数据绘制n条曲线

X和Y必须具有相同的尺寸

1×n或n×1

m×n或n×m

自动匹配尺寸相同方向绘制m条曲线

任意四种组合,效果一样

m×n或n×m

1×n或n×1

同上

同上

1×1

1×n或n×1

绘制垂直X轴离散点

Y可以任意向量

1×n或n×1

1×1

绘制垂直Y轴离散点

X可以任意向量

 

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形

 

1 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)

 

此时完全等效于

 

1 2 3 4 5 plot(X1,Y1,LineSpec1,...)   hlod all   plot(X2,Y2,LineSpec2,...) 

 

MATLAB中提供的线型属性有:

 

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:.

点划线

.

实心圆

c

青绿色

 

 

x

叉号符

m

洋红色

 

 

s

正方形

y

黄色

 

 

d

菱形

k

黑色

 

 

^

上三角形

w

白色

 

 

v

下三角形

 

 

 

 

右三角形

 

 

 

 

左三角形

 

 

 

 

p

五角星

 

 

 

 

h

六边形

 

 

 

需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。

 

1 2 3 plot(...,'PropertyName',PropertyValue,...)设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。   plot(axes_handle,...)指定坐标系,也就是在axes_handle坐标系中绘图,在没有指定时默认为gca。

  

h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。

 

注意

在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。

 

默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory)

 

1 2 3 set(0,'DefaultAxesColorOrder',’r|g|b|k’,...       'DefaultAxesLineStyleOrder','-|-.|--|:')

  

使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。

 

另外我们可以通过下面四个属性设置标识符的颜色和大小

1 2 3 4 5 6 7 LineWidth——指定线宽   MarkerEdgeColor——指定标识符的边缘颜色   MarkerFaceColor——指定标识符填充颜色   MarkerSize——指定标识符的大小

  

注意上面四个属性是针对当前坐标系中所有曲线的

 

实例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 % by dynamic   % see also http://www.matlabsky.com   2009.8.20   %   X=1:10;   % 两个都是数组,必须具有相同的尺寸   X1=[X;X;X]';%10×3   Y1=rand(10,3)+1;%10×3   % 其中一个为向量,另一个为数组,自动匹配尺寸相等方向   X2=1:0.1:10;%1×91   Y2=[sin(X2);cos(X2)]';%91×2   % 其中一个是标量,另一为矢量,绘制垂直坐标轴的离散点   X3=1:10;   Y3=-0.5;   fh=figure('numbertitle','off','name','PLOT Usability Demo');%创建figure对象   ah=axes;%创建axes对象   h=plot(...%返回所有曲线句柄       ah,...%指定坐标系,可以省略,此时默认gca       X1,Y1,...%坐标数据         '-.^',...%曲线属性,可以省略或部分省略,此时自动选择       X2,Y2,...       'm-',...       X3,Y3,...       'o',...%注意此组数据设置线型和颜色无效,因为默认绘制离散点       'LineWidth',2,...%线宽       'MarkerEdgeColor','k',...%标识符边缘颜色       'MarkerFaceColor','r',...%标识符填充颜色       'MarkerSize',8)%标识符大小

  

 

subplot函数解析: 

subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。下面是这个例子,可加深理解:

x1=[1 2 3];x2=x1;x3=x2;x4=x1;
y1=[2 4 6];y2=2*y1;y3=3*y1;y4=4*y1;
subplot(2,2,1)
plot(x1,y1);
axis([0,20,0,20])
subplot(2,2,2)
plot(x2,y2);
  axis([0,20,0,20])
subplot(2,2,3)
plot(x3,y3)
  axis([0,20,0,20])
  subplot(2,2,4)
plot(x4,y4)
axis([0,20,0,20])

结果为:

 

本文出自:Matlab中plot函数参数解析 - 二郎那个三郎 - 博客园 (cnblogs.com)

招募大量matlab技术人员,有大量matlab需求订单,均为个人短期可以完成,有时间的朋友可以加我微信:xiaoyuer-8988     加好友备注博客园matlab技术即可。有需求也可以联系此微信。

 

 

 

标签:...,20,plot,曲线,函数参数,Matlab,绘制,属性
From: https://www.cnblogs.com/sy01/p/16849803.html

相关文章

  • python之matplotlib
    matplotlib可以将数据绘制成图像呈现,风格与matlab画图相似,是一款很好用的python库。这篇文档记录matplotlib的学习过程。主要参考见参考1。1概述Matplotlib代码库十分......
  • matlibplot从入门到精通——基本使用
    导入库importmatplotlib.pyplotaspltimportnumpyasnp#%matplotlibinline生成数据#definesomedatax=np.linspace(0,10,100)#100pointsstartingfrom0mu,si......
  • matplotlib
    importmatplotlibasplt#matlab语法plt.figure(figsize=(9,3))#表示图表的长度为9,高度为3#在2行1列位置,画第一个图plt.subplot(211)plt.bar(seasons.stock1)#2......
  • Matlab Simulink仿真工具的应用
     招募大量matlab技术人员,有大量matlab需求订单,均为个人短期可以完成,有时间的朋友可以加我微信:nn505203,有需求也可以联系此微信。加好友备注博客园matlab技术即可。S......
  • LMS算法MatLab实现
      LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值为最小,因此称为最小均方(LMS)自适应滤波器。其原理及推导见http://download.csdn.net/source/432206......
  • Python matplotlib 学习——建立画布和坐标系
    #导入包importmatplotlib.pyplotasplt#让图表在jupyter展示出来%matplotlibinline#解决中文乱码问题plt.rcParams["font.sans-serif"]='SimHei'#解决负号无法显示plt.......
  • Matlab神经网络函数newff()新旧用法差异
    在MatlabR2010a版中,如果要创建一个具有两个隐含层、且神经元数分别为5、3的前向BP网络,使用旧的语法可以这样写:        net1=newff(minmax(P),[53 1]);注意......
  • MATLAB约束最优化之罚函数法、障碍函数法和SQP方法
    1.罚函数法罚函数方法包括外点法和内点法。外点法又叫外罚函数法,顾名思义,迭代点再约束条件的可行域之外,既用于不等式约束又可用于等式约束。同样地,罚函数方法又叫序列无......
  • matlab最小二乘法数据拟合函数详解
    定义:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与......
  • 基于龙格-库塔法Runge-Kutta的常微分方程的求解matlab仿真
    目录一、理论基础二、核心程序三、测试结果一、理论基础四阶龙格库塔法龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。令初......