matlab绘图plot知识汇总

一、plot() 绘图

 1、matlab提供的线条属性:

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

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

等价于:

plot(X1,Y1,LineSpec1,...)
 
hlod on
 
plot(X2,Y2,LineSpec2,...) 

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:.

点划线

.

实心圆

c

青绿色

 

 

x

叉号符

m

洋红色

 

 

s

正方形

y

黄色

 

 

d

菱形

k

黑色

 

 

^

上三角形

w

白色

 

 

v

下三角形

 

 

 

 

右三角形

 

 

 

 

左三角形

 

 

 

 

p

五角星

 

 

 

 

h

六边形

 

例程:

x=(0:pi/100:2*pi)';
y=sin(x);
y1=2*sin(x);
y2=3*sin(x);
figure;
plot(x,y,'-',x,y1,'--',x,y2,':.r');

2、绘制图形的辅助操作

(1) 图形标注

title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称;

xlabel('0 leq itt rm leq pi','FontSize',16);ylabel('sin(t)','FontSize',20)

text函数是在坐标点(x,y)处添加图形说明;

legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。

A.text函数:按指定位置在坐标系中写出说明文字.格 式为:text(x1, y1, '字符串', '选项')x1,y1为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1的 坐标单位,如没有选项,则x1,y1的坐标单位和图中一致;

如:text(1,2, '正弦曲线')

B.gtext函数:按照鼠标点按位置写出说明文字.

格式为:gtext('字符串')

当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字 交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext参数中的字符串就标注在该位置上.

x=(0:pi/100:2*pi)';
y=sin(x);
y1=2*sin(x);
y2=3*sin(x);
figure;
plot(x,y,'-',x,y1,'--',x,y2,':.r');
title('图形名称') 
xlabel('x轴说明')  
ylabel('y轴说明')
text(1.5,0.8,'sin(x)')
legend('图例1','图例2','…')

(2)  坐标控制

在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。所以,一般情况下用户不必选择坐标轴的刻度范围。但是,如果用户对坐标不满意,可以利用axis函数对其重新设定。其调用格式为:

axis([xmin xmax ymin ymax zmin zmax])

axis函数的功能丰富,其常用的用法有:

axis equal :纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形)
axis auto:使用默认设置
axis off:取消坐标轴
axis on :显示坐标轴

grid on/off; %加格网
grid box; %加边框

(3)  图形保持

hold on/off

(4)图形窗口分割

subplot(m,n,p)

m,n 分别表示将窗口分割的行数和列数,p表示要画图部分的代号,表示第几个图 形;mnp三个数可以连写,中间不用符号分开.

(5)绘图属性

  • 线的宽度(LineWidth);
  • 标记点的边缘颜色(MarkerEdgeColor);
  • 填充颜色 (MarkerFaceColor);
  • 标记点的大小(MarkerSize)等其它绘图属性
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
figure;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10

画图:

3、图形句柄:

%% 图形对象及其句柄
x1=linspace(0,2*pi,30);%首尾为0和2*pi,中间有30个数
y1=sin(x1);
h0=plot(x1,y1,'r'); %曲线对象的句柄
h1=gcf;%图形对象的句柄
h2=gca;%坐标轴句柄
h3=findobj(gca,'Marker','x');%坐标轴上曲线的句柄,Marker表示标记点的形状

 注意:h0 h1 h2句柄的输出:

h0为曲线对象的句柄:

h0 =

  Line - 属性:

              Color: [1 0 0]
          LineStyle: '-'
          LineWidth: 0.5000
             Marker: 'none'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1×30 double]
              YData: [1×30 double]
              ZData: [1×0 double]

h1为图形对象的句柄;

h1 =

  Figure (3) - 属性:

      Number: 3
        Name: ''
       Color: [0.9400 0.9400 0.9400]
    Position: [488 342 560 420]
       Units: 'pixels'

h2为坐标轴句柄;

h2 =

  Axes - 属性:

             XLim: [0 7]
             YLim: [-1 1]
           XScale: 'linear'
           YScale: 'linear'
    GridLineStyle: '-'
         Position: [0.1300 0.1100 0.7750 0.8150]
            Units: 'normalized'

(1) set函数 :用于设置句柄所指的图形对象的属性.

Set函数的格式为:

set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)  % 曲线对象的句柄、图形对象的句柄、坐标轴句柄

例:h=plot(x,y)

set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.

(2) get函数 : 获取指定句柄的图形对象指定属性的当前值.

格 式为:get(句柄, '属性名')

如: get(gca, 'Xcolor')------获得X轴的当前颜色属性值.

执行后可返 回X轴的当前颜色属性值[0,0,0](黑色).

(3) 如果没有设置句柄,则可以使用下列函数获得:

gcf:获得当前图形窗 口的句柄;

gca:获得当前坐标轴对象的句柄;

gco:获得当前对象的句柄.

参考链接:

matlab常用的设置,坐标系、线条颜色、线型,字体、属性

MATLAB图形句柄

Matlab中巧用LaTex

Matlab绘图-很详细,很全面

二、demo

x=0:0.2:12
y1=sin(x);
y2=cos(x);
y3=tan(x);
figure(1)
h=plot(x,y1,x,y2,x,y3);
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
set(h,{'Color'},{'r';'g';'b'})
axis([0 12 -1 1])
grid on
xlabel('Time')
ylabel('Amplitude')
legend(h,'First','Second','Third')
title('Math Functions')

运行结果:

画图标记出特殊点:

  1. 利用text(x(p),y(p),'o','color','g'));这里o表示标注的形状,也可以用*、^等比较好看的符号哟。'g'表示的是颜色。
  2. text(x(p),y(p),['(',num2str(x(p)),',',num2str(y(p)),')'],'color','b');标注坐标的值,很方便。

参考:MATLAB画图如何标记特殊点

 

2、loglog() 绘图

loglog(x,y)    x 轴和y 轴均为对数刻度Logarithmic Scale)
semilogx(x,y)  x 轴为对数刻度,y 轴为线性刻度
semilogy(x,y)  x 轴为线性刻度,y 轴为对数刻度

示例代码:

x=logspace(-1,2);
y=exp(x);
loglog(x,y,'-s')
% semilogx(x,y)  
grid on %标注格栅

结果:

logspace()

首先书上给的定义是logscape函数是用来创建指数等差数列,语法描述如下

  • logspace(x1,x2)——在从10^x1到10^x2区间内生成含有50个元素的等差数列
  • logspace(x1,x2,n)——在从10^x1到10^x2区间内生成含有n个元素的等差数列;

即:以对数刻度的形式产生等差序列,输出的数字为10^n

3、semilogx/semilogy

主要是学习semilogx函数:

其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数loglog是x y轴都取对数

例子,

clc;clear;close all;
x = 0:.1:10;
y = 2*x+3;
subplot(311);
plot(x,y);
grid on
subplot(312);
semilogy(x,y);grid on

grid on
subplot(313);
semilogx(x,y);grid on

4、matlab绘图汇总

—————————复习各种matlab图形函数————————————

1.绘制二维曲线的最基本函数plot
2.双纵坐标函数plotyy
3.坐标控制
函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的用法还有:
axis equal    纵、横坐标轴采用等长刻度
axis square   产生正方形坐标系(缺省为矩形)
axis auto     使用缺省设置
axis off      取消坐标轴
axis on      显示坐标轴
grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
4.图形窗口的分割
    subplot函数的调用格式为:
    subplot(m,n,p)
5.绘制二维图形的其他函数
其他形式的线性直角坐标图
在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:
bar(x,y,选项)
stairs(x,y,选项)
stem(x,y,选项)
fill(x1,y1,选项1,x2,y2,选项2,…)
6.极坐标图
polar函数用来绘制极坐标图,其调用格式为:
polar(theta,rho,选项)
其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。
7.对数坐标图形
    MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:
    semilogx(x1,y1,选项1,x2,y2,选项2,…)
    semilogy(x1,y1,选项1,x2,y2,选项2,…)
    loglog(x1,y1,选项1,x2,y2,选项2,…)
8.对函数自适应采样的绘图函数
fplot函数的调用格式为:  
fplot(fname,lims,tol,选项)
9.绘制三维曲线的最基本函数
    plot3函数与plot函数用法十分相似,其调用格式为:
    plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
10.三维曲面
1.平面网格坐标矩阵的生成
(1)利用矩阵运算生成。
x=a:dx:b; y=(c:dy:d)';
X=ones(size(y))*x;
Y=y*ones(size(x));
(2)利用meshgrid函数生成。
x=a:dx:b; y=c:dy:d;
[X,Y]=meshgrid(x,y);
10.绘制三维曲面的函数
    surf函数和mesh函数的调用格式为:
    mesh(x,y,z,c)
    surf(x,y,z,c)
标准三维曲面
sphere函数的调用格式为:
    [x,y,z]=sphere(n)
cylinder函数的调用格式为:
    [x,y,z]=sphere(R,n)
MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。

11.其他三维图形
   条形图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、pie3和fill3。此外,还有三维曲面的等高线图。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。

 

参考链接:

https://www.cnblogs.com/sddai/category/816739.html

https://www.cnblogs.com/sddai/p/5467500.html

MATLAB 设置坐标名称,坐标刻度,坐标刻度名称,坐标点显示

 

 

 

 

 

 

 

 

  • 12
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值