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. 13.Python略有小成(装饰器,递归函数)

    Python(装饰器,递归函数) 一.开放封闭原则 ​ 软件面世时,不可能把所有的功能都设计好,再未来的一两年功能会陆续上线,定期更新迭代,软件之前所用的源代码,函数里面的代码以及函数的调用方式一般不 ...

  2. github版本库使用详细教程(命令行及图形界面版)

    Git是一个分布式的版本控制系统,作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选 ...

  3. 《SQL 进阶教程》 case:练习题1-1-2 转换行列——在表头里加入汇总列

    select case when sex = 1 then '男性' else '女性' end as '性别', sum(case when name='哈尔滨' THEN population e ...

  4. XHR的跨域请求和JSONP详解

    首先:什么是跨域? Cross Domain Request:从一个资源请求另一个资源,二者所在的请求地址不同,域名不同.端口号不同.请求协议不同. 它是由浏览器的同源策略造成的,是浏览器对JavaS ...

  5. Codeforces 1163D(kmp、dp)

    要点 \(dp[i][j][k]\)表示主串已经到第\(i\)位时,\(s\)匹配在\(j\)位.\(t\)匹配在\(k\)位的最大得分 本来就要试填一层循环,如果转移也写在循环里的化复杂度承受不了, ...

  6. Table行合并操作

    此方法不可取,但几天心血 保留,已有新想法,稍后会出一个完善的Table行列合并方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  7. c++笔记1

    using namespace std:命名空间可以保证一些命名能够在全局不冲突.如用户可以通过声明命名空间,然后用运算符::区别同名的不同变量 using namespace std;namespa ...

  8. AD中添加中文字符丝印的方法:

    一 一般中文丝印: 用快捷键L打开层管理,在View options中勾选convert special 选项: 用快捷键P,S文本中输入你要的汉字,选中ture type,在select ture ...

  9. D. Restructuring Company 并查集 + 维护一个区间技巧

    http://codeforces.com/contest/566/problem/D D. Restructuring Company time limit per test 2 seconds m ...

  10. c#的Lambda 表达式

    首先看官方的说法: Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式 ...