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. Vue2中实现微信分享支付功能

    Vue2中实现微信分享支付功能  近期做了一个微信公众号前后分离项目,前端采用Vue2开发,后端SpringBoot,今天迫不及待的来给大家分享一下这次在开发中遇到的一些坑以及解决办法. 在这里,一些 ...

  2. ios Realm的使用 本地数据存储

    引入需要的文件 pod 'RealmSwift' pod 'Realm' 然后在命令行使用 (首先应该cd到项目的根目录)输入 pod install 等待下载就行了(这个下载有点费劲,其他的插件包下 ...

  3. Azkaban2.5安装部署(系统时区设置 + 安装和配置mysql + Azkaban Web Server 安装 + Azkaban Executor Server安装 + Azkaban web server插件安装 + Azkaban Executor Server 插件安装)(博主推荐)(五)

    Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三) Hadoop工作流引擎之Azkaban与Oozie对比(四) 不多说,直接上干货! http://www.cn ...

  4. 《springcloud 一》搭建注册中心,服务提供者,服务消费者

    注册中心环境搭建 Maven依赖信息 <parent> <groupId>org.springframework.boot</groupId> <artifa ...

  5. idea报错:Error running $classname: Command line is too long. Shorten command line for $classname.

    Command line is too long 打印的变量太长了,超过了限制,这都会报错...我只想知道idea基于什么原理会报这个错... 解决 1.按照提示修改该类的配置,选择jar manif ...

  6. Dev控件工具箱安装

    安装目录\Components\Tools,打开命令行 安装DEV工具 $ ToolboxCreator.exe /ini:toolboxcreator.ini 移除DEV工具 $ ToolboxCr ...

  7. 常见的JedisConnectionException 异常

    最近在使用redis出现以下的异常: 1.redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectExcept ...

  8. 2015博客升级记(五):CentOS 7.1编译安装PHP7

    https://typecodes.com/web/centos7compilephp7.html

  9. Hello World另类写法

    #include<iostream> #define _ using namespace std; #define __ int main() #define ___ { #define ...

  10. 去除inline-block间隙的几种方法

    为什么会产生间隙? 由于编写代码时的美观和可读性,在代码中添加回车或空格而产生的间隙. html代码: <ul class="container"> <li> ...