plot函数

形式

  • plot(a,’-s’)如果a是实数矩阵,则以序列[1,2,3,…]为其横坐标,以各列为纵坐标绘图。曲线的数目与a的列数相同。字符s控制曲线线型和颜色,宽度等。如果a是复数矩阵,则分别以各列的实部和虚部为横纵坐标画曲线。
  • plot(a,b,’s’)若a,b为同维矩阵,则分别以a的各列为横坐标,以b的各列为纵坐标绘图。曲线条数为a,b的列数。若a为列向量,b为行数与a相同的矩阵,则以a为横坐标,分别以b的各列为纵坐标绘图。
  • plot(a1,b1,’s1’,a2,b2,’s2’,…)分别以a1,b1构图,以a2,b2构图。

字符控制

字母 颜色 标点 线型
y 黄色 . 点线
m 粉色 圈线
r 亮蓝 × ×线
g 绿色 + +线
b 蓝色 - 实线
w 白色 * 星形线
k 黑色 -.- 点划线

常用的图形标记函数

函数名 功能
title 为图形加标题
xlabel 为x轴加标注
ylabel 为y轴加标注
text 为图形加文本注释
gtext 用鼠标放置文本
grid 加网格线

下面给出一个例子:用M文件绘制图像:

x=0:pi/30:2*pi;
y1=x.^2;
y2=10*sin(x);
plot(x,y1,'.r',x,y2,'-y');
grid
xlabel('Variable x')
ylabel('Variable y')
title('x^2 and sin(x)');
text(6.2,-5.5,'sin(x)');
text(6.2,16,'x^2');
subplot命令——拆分窗口

用subplot(m,n,p)命令,可以在同一个画面上面建立几个坐标系,把一个画面拆分成m×n个图形区域,p代表当前的区域号,每个区域可以对应一个独立的图。

例如,在一个窗口内绘制y=ex,y=log(x),y=sin(x),y=cos(x)的图像。

x=0:pi/30:2*pi;
y1=exp(x);
y2=log(x);
y3=sin(x);
y4=cos(x);
subplot(2,2,1)
plot(x,y1)
grid
xlabel('Variable x')
ylabel('Variable y')
title('exp(x)');
subplot(2,2,2)
plot(x,y2)
xlabel('Variable x')
ylabel('Variable y')
title('log(x)');
subplot(2,2,3)
plot(x,y3)
xlabel('Variable x')
ylabel('Variable y')
title('sin(x)');
subplot(2,2,4)
plot(x,y4)
xlabel('Variable x')
ylabel('Variable y')
title('cos(x)');

绘图结果为:(fig1)

其他常见命令

函数 功能
fill 绘制并填充二维图形
ginput 鼠标获取坐标,[a,b,butkey]=ginput,a为x轴坐标,b为y轴坐标,button值代表鼠标被按下的那个键
box 控制图形的边框,box off可以关闭图形边框
semilogx 自变量的对数作为x轴
semilogy 因变量的对数作为y轴
loglog 双对数图
plotyy 双y轴图形
axis 控制坐标轴的刻度
axis equal 输出图形的x,y等长
axis off 关闭坐标轴的显示,可产生不含坐标轴的图形
figure 打开新的绘图窗口进行绘图

三维绘图plot3

一般格式为plot(x1,y1,z1,s1,x2,y2,z2,s2,….,xn,yn,zn,sn)

view()函数可以改变三维图形的观察点。

例如:绘制如下函数的图形:x=e−0.1tcos(t),y=e−0.1tsin(t),z=t.

clear all
clc
t=0:pi/30:8*pi;
x=exp(-0.1*t).*cos(t);
y=exp(-0.1*t).*sin(t);
z=t;
subplot(2,2,1),plot3(x,y,z),grid on
title('(x,y,z)的三维图a');
subplot(2,2,2),plot3(x,y,z),grid on,view([0,0,1])
title('从(0,0,1)观察a');
subplot(2,2,3),plot3(x,y,z),grid on,view([0,1,0])
title('从(0,0,1)观察a');
subplot(2,2,4),plot3(x,y,z),grid on,view([1,0,0])
title('从(0,0,1)观察a');
mesh()和contour()命令

[x,y]=meshgrid(x,y)

mesh(X,Y,Z):为数据点绘制网格线,X,Y,Z分别为三维空间的坐标位置。

contour(X,Y,Z):二维等高线,X,Y,Z分别为三维空间的坐标位置。

contour3(X,Y,Z,n):三维等高线,X,Y,Z分别为三维空间的坐标位置,n为等高线的条数。

下面是一个例子:

clear all
clc
x=-2:1:2;y=-1:1:2;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
subplot(2,2,1),mesh(X,Y,Z),grid on
title('网格图a');
subplot(2,2,2),mesh(X,Y,Z),view([0,30]),grid on
title('在方位角0°和视角30°处观察图a');
subplot(2,2,3),contour(X,Y,Z)
title('二维等高线');
subplot(2,2,4),contour(X,Y,Z,10)
title('三维等高线');

Matlab-plot绘图的更多相关文章

  1. MATLAB——PLOT绘图

    MATLAB——PLOT绘图 格式化绘图: 1.color: b g  r c m y k w blue green red  cyan magenta yellow black white 2.ty ...

  2. MATLAB plot 绘图的一些经验,记下来,facilitate future work

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2016/03/28 % 调整figure的位置scrsz = get(0,'ScreenSize'); % 这个命令是 ...

  3. matlab的绘图保存

      matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的.Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工 ...

  4. VS2015调用matlab Plot函数

    最近经常采用Matlab仿真,然后C语言实现,最后需要将计算结果使用Qt的qwt或者matlab中的plot函数绘图. 因此想借用matlab的plot函数接口,使用VS2015来编写信号处理代码,最 ...

  5. 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来

    最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...

  6. plot绘图

    plot绘图 坐标系图(折线图) 折线图用于显示随时间或有序类别的变化趋势 plt.plot(x,y,format_string,**kwargs) y:Y轴数据,列表或数组,必选 x:X轴数据,列表 ...

  7. 【matlab 基础篇 03】一文带你全面了解 plot 绘图函数的使用(超详细+图文并茂)

    快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 文章目录 1 前言 2 plot 2.1 显示正弦波 2.2 修改颜色 2.3 修改点的形状 2.4 修改线的形状 ...

  8. Matlab高级绘图

    http://blog.csdn.net/haizimin/article/details/50372630 图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形 ...

  9. Matlab——plot polyfit polyval

    p=polyfit(x,y,m) 其中, x, y为已知数据点向量, 分别表示横,纵坐标, m为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中. y0=polyval(p ...

  10. (matlab)plot画图的颜色线型(转)

    http://wenku.baidu.com/link?url=SVVMVH8QlDIu2hVKDtoBYs6l0CnQvFnFHJJ9yexmYVKQqhz47qIr7aK7LOf8nN0qNdy8 ...

随机推荐

  1. 有关xerosploit运行报错问题的有效解决方案

    [安装xerosploit]安装xerosploit的步骤如下,我是将xerosploit直接克隆到了根目录下(使用“cd /”到达根目录) git clone https://github.com/ ...

  2. 3、CreateJS介绍-SoundJS

    需要在html5文件中引入的CreateJS库文件是soundjs-0.5.2.min.js HTML5文件如下: <!DOCTYPE html> <html lang=" ...

  3. bearBaby loves sleeping(BFS)

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 Sleeping is a favorit ...

  4. 用Open Live Writer写博体验

    感觉还蛮方便的--openlivewriter第一博!

  5. 「干货分享」模块化编程和maven配置实践一则

    ​ 封面 说到模块化编程,对我个人而言首先起因于团队协作的需要,也就是组织架构结构特点来决定,而不是跟风求得自我认同,看看我们团队的组织结构: ​ 其中: 基础平台部职责: 1.AI实验室:语音,图像 ...

  6. Java中常见的坑

    概述 Java是门极简风格的语言,比其它语言相比,它故意保持较少的特性,不仅在有些不常见的情况下会出些奇奇怪怪的错误,即使很一般的情况下也有可能让人栽根头.如果你习惯了别的语言,你读Java 的代码很 ...

  7. Redis特性之持久化机制

    持久化机制 Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化. Redis支持两种持久化方式: 1.snapshotting(快照)也是默认方式 ...

  8. 树莓派2安装Xware实现迅雷远程下载

    首先,远程功能很实用,尤其是基于迅雷的,现在国内的下载基本上迅雷只手遮天,别的工具友好程度不理想,这是对于我这种小白来说. 首先,我的树莓派系统不是原生的,我烧写的是ubuntu16,没有桌面,没有多 ...

  9. JAVA基础之线程

    个人理解: 在相同的进程也就是运行同样的程序的前提下,线程越多效率越快!当然硬件也是个障碍!为了提高效率,可以多创建线程,但是也不是越多越好,这就需要了线程池进行管理!需要知道的线程实现的方法:继承T ...

  10. Java基础:(三)运算

    一.参数传递 Java的参数是以值传递的形式传入方法中,而不是引用传递. 二.隐式类型转换 Java不能隐式执行向下转型,因为这会使精度降低:但是使用 += 运算符可以执行隐式类型转换. float ...