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. es6入门5--class类的基本用法

    在ES6之前,准确来说JavaScript语言并无类的概念,却有模拟类的做法.相比在类似java这类传统面向对象语言中通过类来生成实例,js则通过构造函数模拟类来生成实例. 这是因为在JS设计初期,作 ...

  2. 如何使用localStorage?

    首先使用localStorage的时候,我们需要判断浏览器是否支持localStorage这个属性. if(!window.localStorage){ alert("浏览器支持locals ...

  3. HDU-2767-ProvingEquivalences

    链接:https://vjudge.net/problem/HDU-2767 题意: 给一个图,求最少需要几条边将其连成一个强连通图 思路: tarjan,缩点,考虑缩点后的图,出度为0的点和入度为0 ...

  4. UVaLive6443(线段树)

    要点 题意--题意往往是个大坎Orz:输入操作 p 则在区间\([x_1,x_2]\)插入一个三次函数, t 则先查询区间\([x_1,x_2]\)的函数值的和,然后按题目要求得到新的\(x_1\). ...

  5. CSS3动画总结学习(一)

    参考文章: CSS3 Transitions, Transforms和Animation使用简介与应用展示 CSS 参考手册 动画的分类 平移动画 transform: 就是变换, 变换, 变换 也就 ...

  6. python 5 条件判断

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  7. dynomite:高可用多数据中心同步

    https://github.com/Netflix/dynomite Dynomite, inspired by Dynamo whitepaper, is a thin, distributed ...

  8. 右侧导航栏(动态添加数据到list)

    页面样式 <style> .scroll { position: fixed; right: 5%; top: 5em; background: #ccc; display: none; ...

  9. 基本类型包装类、System类、Math类、Arrays类、大数据运算

    1 基本类型包装类 Java中想对8种基本数据类型进行复杂操作很困难. 实际程序界面上用户输入的数据都是以字符串类型进行存储的. 程序开发中,需要把字符串转换成指定的基本数据类型. 1.1基本数据类型 ...

  10. 《超实用的Node.js代码段》连载二:正确拼接Buffer

    对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出 ...