【基础知识笔记】001 MATLAB-plotyy-函数详解
plot
1 定义
plot()——matlab中二维画图的函数,函数返回值是各个线条的句柄。
2 调用格式
2.1 plot(y)
当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次连接数据点,绘制曲线。若y为实矩阵,则按列绘制每列对应的曲线。
2.2 plot(x,y)
- 若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。
- 若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。
- 若x和y为同型矩阵,则以x,y对应元素分别绘制曲线,曲线条数等于矩阵列数。
2.3 plot(x1,y1,x2,y2,……)
在此格式中,每对x,y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。将使用相同的坐标轴绘制多条曲线
以上三种格式中的x,y都可以是表达式。plot是绘制一维曲线的基本函数,但在使用此函数之前,须先定义曲线上每一点的x以及y坐标。
2.4 plot(x1,y1,linespec1,...,xn,yn,linespecn)
这种格式允许用户对每条线进行属性设置
2.5 h=plot(····)
这种格式返回由图中各线条的句柄构成的列向量h,即h中的每个元素就是图中一条线的句柄,当绘制多条线时,用户可通过某条线的句柄对该线进行特定的修改。
3 线条属性设置
带属性的格式中。增加了线属性的设置,这些属性包括线型设置,绘制线条时是否使用标记符号以及使用什么样的标记符号,线条的颜色、粗细等等。
在plot函数中,无论是线型、标记符号还是颜色,具体制定时,都是以字符串的形式出现.
字符串中的颜色可以以任何顺序出现,用户也可以省略其中的一个或多个选项。如果用户省略了线条样式,但制定了标记字符,则plot函数只显示标记符,但不会显示线条。
plot函数在绘制线条时,线条属性主要包括三个方面.
3.1 线型的使用。

3.2 颜色的使用
其中最常用的颜色如下所示,更多的颜色可以采用RGB来表示。

3.3 标志符的应用
它可以更有效的显示出数据点的位置。

4 举例
plot(T,y1,'--',T,y2,'-.',T,y3,'-');
grid on
%这里'--' ,'-.','-'表示的是对应曲线所用的线条
plotyy
1 定义
plotyy是MAT LAB函数,用来绘制双纵坐标图。函数的返回值是,左右纵坐标轴和两条曲线的句柄。
2 调用格式
2.1 plotyy(X1,Y1,X2,Y2)
以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。
2.2 plotyy(X1,Y1,X2,Y2,FUN1)
以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1指定形式的两条曲线。
2.3 plotyy(X1,Y1,X2,Y2,FUN1,FUN2)
以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1、FUN2指定的不同形式的两条曲线。其中fun的绘制方式包括plot,semilogx,semilogy,loglog等。
2.4 [AX,H1,H2]=plotyy(...)
返回AX中创建的两个坐标轴的句柄以及H1和H2中每个图形绘图对象的句柄。AX(1)为左侧轴,AX(2)为右侧轴。
2.5 注意:
- AX返回的是两个坐标轴的句柄,而H1和H2则是表示的每个图像的句柄。
左纵轴用于X1-Y1数据对,右纵轴用于X2-Y2数据对。- 轴的范围、刻度都自动产生。如果要人工设置,必须使用axis函数。
3 设置属性
3.1 设置坐标轴刻度
设置双y轴的刻度,使用以下函数:
[AX,h1line1,hline2]=plotyy(x1,y1,x2,y2);
%得到两个y轴的句柄AX(1)、AX(2)
set(AX(2),'ytick',[0:20:500]);
%设置右y轴的刻度
set(gca,'xtick',[0:15:100]); %设置x轴的刻度为0:15:100
set(gca,'ytick',[0:20:350]); %设置左y轴的刻度为0:20:350
3.2 设置轴的标签
先提取出轴的标签的句柄,然后再用set()函数设置
figure;
t=0:0.1:9*pi;
[AX,hline1,hline2]=plotyy(t,sin(t),t,exp(t));
d1=get(AX(1),'ylabel');%取出ylabel的句柄
set(d1,'string','yayacpf');%设置ylabel的值
set(get(H(2),'ylabel'),'string','bbs from hit','fontsize',10);
3.3 设置线型
取出曲线句柄,使用set函数对曲线进行设置
t=0:0.1:9;
[AX,hline1,hliine2]=plotyy(t,sin(t),t,cos(t));
set(hline1,'linestyle','-','marker','o','color','r');
et(hline2,'linestyle',':','marker','x','color','b');
3.5 设置图例
利用lengend()函数即可对任意图进行添加图例
x=linspace(0,2*pi,50);
%linspace(x1,x2,N), linspace是Matlab中的均分计算指令,
% 用于产生x1,x2之间的N点行线性的矢量。
%其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
[ax,h1,h2]=plotyy(x,sin(x)+cos(x),x,exp(x));
set(h1,'linestyle','-')
set(h2,'linestyle','-')
set(h1,'marker','o')
set(h2,'marker','+')
%以上设置好两条曲线的属性
hold on
x=linspace(0,2*pi,50);
hh=line(x,cos(x));
set(hh,'linestyle','-')
set(hh,'marker','s')
hold on
hhf=line(x,sin(x));
set(hhf,'color','r')
set(hhf,'linestyle','-')
set(hhf,'marker','*')
legend([h1,h2,hh,hhf],'sin(x)+cos(x)','exp(x)','cos(x)','sin(x)');
%加注图例
4 Example
x=0:0.1*pi:2*pi; y=sin(x); z=exp(x);
plotyy(x,y,x,z,'plot','semilogy');
x=0:0.1*pi:2*pi; y=sin(x); z=exp(x);
plotyy(x,y,x,z,'plot','semilogy');
【基础知识笔记】001 MATLAB-plotyy-函数详解的更多相关文章
- 网络基础知识-TCP/IP协议各层详解
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Android学习之基础知识二(build.gradle文件详解)
一.详解build.gradle文件 1.Android Studio是采用Gradle来创建项目的,Gradle是非常先进的构建的项目的工具,基于Groovy领域特定的语言(DSL)来声明项目配置, ...
- MySQL 基础知识梳理学习(五)----详解MySQL两次写的设计及实现
一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点.因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在 ...
- python基础教程笔记—画幅好画(详解)
今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个 ...
- vue.js基础知识篇(7):表单校验详解
目录 网盘 第12章:表单校验 1.npm安装vue-validator $ npm install vue-validator 代码示例: var Vue=require("vue&quo ...
- Android学习之基础知识十三 — 四大组件之服务详解第一讲
一.服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使程序被切换到后台, ...
- SQL夯实基础(三):聚合函数详解
一.GROUP BY Having 聊聚合函数,首先肯定要弄清楚group by 和having 的用法. SELECT id, COUNT(course) as numcourse, AVG(sc ...
- 基础知识《七》---Java多线程详解
- Android学习之基础知识十三 — 四大组件之服务详解第二讲(完整版的下载示例)
上一讲学习了很多关于服务的使用技巧,但是当在真正的项目里需要用到服务的时候,可能还会有一些棘手的问题让你不知所措.接下来就来综合运用一下,尝试实现一下在服务中经常会使用到的功能——下载. 在这一讲我们 ...
随机推荐
- PostgreSQL 的历史
title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功 ...
- 【Python基础练习】实验3:列表、字典、集合
实验3:列表.字典.集合 姓名:萌狼蓝天 时间:2023年11月6日 Python:3.12 博客:https://wwww.mllt.cc 实验目的 (1)了解列表.元组.字典和集合的概念 (2)学 ...
- 【XML】学习笔记第二章-dtd
目录 XML-DTD DTD语句 基本声明语句 引用外部DTD DTD元素 四种元素类型 元素定义关键字 修饰符号 DTD中的属性 属性修饰 属性类型 DTD中的实体和符号 符号 坑 XML-DTD ...
- sed 删除 替换 文件内容
sed添加一行内容 使用sed命令添加一行内容有多种实现方法,下面是几种不同的实现方法: 方法一:使用sed命令在指定行前添加一行内容 sed '2i This is a new line ...
- SpringBoot 集成Swagger后提通过http://localhost:8001/swagger-ui.html#/访问得不到页面
SpringBoot 集成Swagger后提通过http://localhost:8001/swagger-ui.html#/访问得不到页面: spring boot 集成 swagger2步骤: ...
- Windows7系统启用ipv6的详细步骤(图文)
IPV6是IETF设计的用于替代现行版本IP协议(IPv4)的下一代IP协议.一般情况下,win7系统默认是关闭IPV6服务的,之前教程也有分享过win7禁用ipv6协议的方法.那么如果要启用ipv6 ...
- kubernetes系列(七) - Pod生命周期
目录 1. pod生命周期 2. initC 2.1 initC介绍 2.2 initC的作用 2.3 initC的模版 2.4 initC的一些其他补充 3. Pod健康性检查(liveiness) ...
- hackmyvm Hades5变量劫持提权
在这个目录下有个./uid的程序 分别运行./uid 和 id 发现我们在 uid一行是有不一样的 我们猜测 在./uid里面他先用chown把我们的 uid改写成了anthea 然后运行id 然后再 ...
- 一个9年archlinux重度使用者自述
系统没有高低贵贱,主要还是使用的人,哪个跟你更契合.对我而言, archlinux就是最契合的那个.本文主要是对archlinux使用做一个粗浅的介绍,如果能勾起你一丝兴趣,那就更好了. 第一部分:初 ...
- oracle数据导入导出,备份还原命令expdp&impdp(只导出元数据,不导出表数据,最全,最完善的步骤)
感谢金龙鱼先生分享,原文来自https://blog.csdn.net/kou869929526/article/details/125791113 一,编码要求以及数据库版本要求 检查数据库版本(用 ...