MATLAB——画图(经典)
今天我发现一个非常奇怪的事情,如果你喜欢一样东西或者说是要干一件事,并不一定要把它所在领域的所有都做好,
只要做好你喜欢的就可以了,正如现在的我,突然想学习MATLAB(想画图)那么你只要把一些基础的内容学完,然后直接去学习画图的那一节内容就好了,并不需要学习过多的内容,因为有些知识并没有连贯。(当然这只是我个人的见解)。
这是我在学习matlab过程中关于画图的见解,希望能够帮助到未来的学弟学妹们!
永远爱你们的
————新宝宝
plot
二维线图全页折叠
语法
plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,…,Xn,Yn)
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(_,Name,Value)
plot(ax,_)
h = plot(_)
说明
示例
plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。
如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。
如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。
如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。
如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,您必须指定标记符号,例如 plot(X,Y,’o’)。
plot(X,Y,LineSpec) 设置线型、标记符号和颜色。
示例
plot(X1,Y1,…,Xn,Yn) 绘制多个 X、Y 对组的图,所有线条都使用相同的坐标区。
示例
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn) 设置每个线条的线型、标记符号和颜色。您可以混用 X、Y、LineSpec 三元组和 X、Y 对组:例如,plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)。
示例
plot(Y) 创建 Y 中数据对每个值索引的二维线图。
如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)。
如果 Y 是矩阵,则 plot 函数绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。
如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图,使得 plot(Y) 等效于 plot(real(Y),imag(Y))。
plot(Y,LineSpec) 设置线型、标记符号和颜色。
示例
plot(_,Name,Value) 使用一个或多个 Name,Value 对组参数指定线条属性。有关属性列表,请参阅 Line 属性。可以将此选项与前面语法中的任何输入参数组合一起使用。名称-值对组设置将应用于绘制的所有线条。
示例
plot(ax,_) 将在由 ax 指定的坐标区中,而不是在当前坐标区 (gca) 中创建线条。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
示例
h = plot(_) 返回由图形线条对象组成的列向量。在创建特定的图形线条后,可以使用 h 修改其属性。有关属性列表,请参阅 Line 属性。
示例
全部折叠
创建线图
将 x 创建为由 0 和 之间的线性间隔值组成的向量。在各值之间使用递增量 。将 y 创建为 x 的正弦值。创建数据的线图。
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
绘制多个线条
将 x 定义为 100 个介于 和 之间的线性间隔值。将 y1 和 y2 定义为 x 的正弦和余弦值。创建上述两个数据集的线图。
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2)
根据矩阵创建线图
将 Y 定义为 magic 函数返回的 4×4 矩阵。
Y = magic(4)
Y =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
创建 Y 的二维线图。MATLAB® 将矩阵的每一列绘制为单独的线条。
figure
plot(Y)
指定线型
绘制三条正弦曲线,每条曲线之间存在较小的相位偏移。第一条曲线使用默认的线型。为第二条曲线指定虚线样式,第三条曲线指定点式线样式。
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,x,y2,’–’,x,y3,’:’)
MATLAB® 按默认的色序循环使用线条颜色。
指定线型、颜色和标记
绘制三条正弦曲线,每条曲线之间存在较小的相位偏移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆圈标记。第三条正弦曲线只使用青蓝色星号标记。
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,’g’,x,y2,’b–o’,x,y3,’c*’)
在特定的数据点显示标记
通过指定标记符号并将 MarkerIndices 属性设置为名称-值对组,创建一个线图并每隔四个数据点显示一个标记。
x = linspace(0,10);
y = sin(x);
plot(x,y,’-o’,’MarkerIndices’,1:5:length(y))
指定线宽、标记大小和标记颜色
创建线图并使用 LineSpec 选项指定带正方形标记的绿色虚线。使用 Name,Value 对组来指定线宽、标记大小和标记颜色。将标记边颜色设置为蓝色,并使用 RGB 颜色值设置标记面颜色。
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
figure
plot(x,y,’–gs’,…
‘LineWidth’,2,…
‘MarkerSize’,10,…
‘MarkerEdgeColor’,’b’,…
‘MarkerFaceColor’,[0.5,0.5,0.5])
添加标题和轴标签
使用 linspace 函数将 x 定义为 0 到 10 之间 150 个值组成的向量。将 y 定义为 x 的余弦值。
x = linspace(0,10,150);
y = cos(5*x);
创建余弦曲线的二维线图。使用 RGB 颜色值将线条颜色更改为蓝绿色。使用 title、xlabel 和 ylabel 函数为图形添加标题和轴标签。
figure
plot(x,y,’Color’,[0,0.7,0.9])
title(‘2-D Line Plot’)
xlabel(‘x’)
ylabel(‘cos(5x)’)
绘制持续时间并指定刻度格式
将 t 定义为 7 个介于 0 到 3 分钟之间的 duration 线性间隔值。绘制随机数据并使用 ‘DurationTickFormat’ 名称-值对组参数指定 duration 刻度线的格式。
t = 0:seconds(30):minutes(3);
y = rand(1,7);
plot(t,y,’DurationTickFormat’,’mm:ss’)
指定线图的坐标区
创建一个包含两个子图的图窗,并将 Axes 对象返回为 ax1 和 ax2。通过引用 Axes 对象在每个坐标区上创建一个二维线图。通过将 Axes 对象传递给 title 和 ylabel 函数,为每个坐标区添加标题和 y 轴标签。
ax1 = subplot(2,1,1); % top subplot
x = linspace(0,3);
y1 = sin(5*x);
plot(ax1,x,y1)
title(ax1,’Top Subplot’)
ylabel(ax1,’sin(5x)’)
ax2 = subplot(2,1,2); % bottom subplot
y2 = sin(15*x);
plot(ax2,x,y2)
title(ax2,’Bottom Subplot’)
ylabel(ax2,’sin(15x)’)
创建并修改线条
将 x 定义为 100 个介于 和 之间的线性间隔值。将 y1 和 y2 定义为 x 的正弦和余弦值。为上述两个数据集分别创建线图,并在 p 中返回两个图形线条。
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);
将第一个线条的线宽更改为 2。向第二行添加星形标记。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。
p(1).LineWidth = 2;
p(2).Marker = ‘*’;
绘制圆形
绘制以点 (4,3) 为中心以 2 为半径的圆。使用 axis equal 可沿每个坐标方向使用相等的数据单位。
r = 2;
xc = 4;
yc = 3;
theta = linspace(0,2*pi);
x = r*cos(theta) + xc;
y = r*sin(theta) + yc;
plot(x,y)
axis equal
输入参数
全部折叠
Y - y 值
标量 | 向量 | 矩阵
y 值,指定为标量、向量或矩阵。要根据特定的 x 值绘图,还必须指定 X。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
X - x 值
标量 | 向量 | 矩阵
x 值,指定为标量、向量或矩阵。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
LineSpec - 线型、标记和颜色
字符向量 | 字符串
线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: ‘–or’ 是带有圆圈标记的红色虚线
ax - 目标坐标区
Axes 对象 | PolarAxes 对象
目标坐标区,指定为 Axes 对象或 PolarAxes 对象。如果不指定坐标区或当前坐标区是笛卡尔坐标区,plot 函数将使用当前坐标区。要在极坐标区上绘图,请指定 PolarAxes 对象作为第一个输入参数,或者使用 polarplot 函数。
名称-值对组参数
示例: ‘Marker’,’o’,’MarkerFaceColor’,’red’
此处列出的图形线条属性只是一个子集。有关完整列表,请参阅 Line 属性。
全部折叠
‘Color’ - 线条颜色
[0 0.4470 0.7410] (默认) | RGB 三元数 | ‘r’ | ‘g’ | ‘b’ | …
线条颜色,指定为 RGB 三元数或表中列出的颜色选项之一。
如果想自定义颜色,请指定一个 RGB 三元数。RGB 三元数是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元数值。
‘LineStyle’ - 线型
‘-’ (默认) | ‘–’ | ‘:’ | ‘-.’ | ‘none’
线型,指定为下表中列出的线型之一。
‘LineWidth’ - 线条宽度
0.5 (默认) | 正值
线宽,指定为以磅为单位的正值。如果该线条具有标记,则线条宽度也会影响标记边缘。
示例: 0.75
‘Marker’ - 标记符号
‘none’ (默认) | ‘o’ | ‘+’ | ‘*’ | ‘.’ | ‘x’ | …
标记符号,指定为下表中的标记之一。默认情况下,图形线条没有标记。通过指定标记符号沿该线条上的每个数据点添加标记。
示例: ‘Marker’,’+’
示例: ‘Marker’,’diamond’
‘MarkerIndices’ - 要显示标记的数据点的索引
1:length(YData) (默认) | 正整数向量 | 正整数标量
要显示标记的数据点的索引,指定为正整数向量。如果不指定索引,MATLAB® 将在每个数据点显示一个标记。
注意
要查看标记,还必须指定标记符号。
示例: plot(x,y,’-o,’MarkerIndices’,[1 5 10]) 在第一、第五和第十个数据点显示一个圆形标记。
示例: plot(x,y,’-x’,’MarkerIndices’,1:3:length(y)) 每隔三个数据点显示一个交叉标记。
示例: plot(x,y,’Marker’,’square’,’MarkerIndices’,5) 在第五个数据点显示一个正方形标记。
‘MarkerEdgeColor’ - 标记轮廓颜色
‘auto’ (默认) | RGB 三元数 | ‘r’ | ‘g’ | ‘b’ | …
标记轮廓颜色,指定为 ‘auto’、RGB 三元数或表中列出的颜色选项之一。默认值 ‘auto’ 使用与 Color 属性相同的颜色。
如果想自定义颜色,请指定一个 RGB 三元数。RGB 三元数是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元数值。
‘MarkerFaceColor’ - 标记填充颜色
‘none’ (默认) | ‘auto’ | RGB 三元数 | ‘r’ | ‘g’ | ‘b’ | …
标记填充颜色,指定为 ‘auto’、RGB 三元数或表中列出的颜色选项之一。’auto’ 值使用与坐标区的 Color 属性相同的颜色。
如果想自定义颜色,请指定一个 RGB 三元数。RGB 三元数是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元数值。
‘MarkerSize’ - 标记大小
6 (默认) | 正值
标记大小,指定为以磅为单位的正值。
示例: 10
‘DatetimeTickFormat’ - datetime 刻度标签的格式
字符向量 | 字符串
datetime 刻度标签的格式,指定为以逗号分隔的对组,该对组由 ‘DatetimeTickFormat’ 和一个包含日期格式的字符向量或字符串组成。可使用字母 A-Z 和 a-z 构造一个自定义格式。这些字母对应于日期的 Unicode® 区域设置数据标记语言 (LDML) 标准。可以使用连字符、空格或冒号等非 ASCII 字母字符来分隔字段。
如果未为 ‘DatetimeTickFormat’ 指定值,则 plot 将基于轴范围自动优化和更新刻度标签。
示例: ‘DatetimeTickFormat’,’eeee, MMMM d, yyyy HH:mm:ss’ 显示日期和时间,例如 Saturday, April 19, 2014 21:41:06。
下表列举了多种常见的显示格式和纽约市 2014 年 4 月 19 日(星期六)下午 9:41:06 的格式化输出示例。
有关有效字母标识符的完整列表,请参阅日期时间数组的 Format 属性。
DatetimeTickFormat 不是图形线条属性。创建绘图时,必须使用名称-值对组参数设置刻度格式。或者,使用 xtickformat 和 ytickformat 函数设置格式。
日期时间标尺的 TickLabelFormat 属性存储格式。
‘DurationTickFormat’ - duration 刻度标签的格式
字符向量 | 字符串
duration 刻度标签的格式,指定为以逗号分隔的对组,该对组由 ‘DurationTickFormat’ 和一个包含持续时间格式的字符向量或字符串组成。
如果未为 ‘DurationTickFormat’ 指定值,则 plot 将基于轴范围自动优化和更新刻度标签。
要将持续时间显示为包含小数部分的单个数字,例如 1.234 小时,请指定下表中的值之一。
示例: ‘DurationTickFormat’,’h’ 以固定长度的天数显示持续时间值。
要以数字计时器的形式显示持续时间,请指定下列值之一。
‘dd:hh:mm:ss’
‘hh:mm:ss’
‘mm:ss’
‘hh:mm’
此外,可以通过附加多达 9 个 S 字符显示多达 9 位小数的秒位。
示例: ‘DurationTickFormat’,’hh:mm:ss.SSS’ 以三位数显示持续时间的毫秒数。
DurationTickFormat 不是图形线条属性。创建绘图时,必须使用名称-值对组参数设置刻度格式。或者,使用 xtickformat 和 ytickformat 函数设置格式。
持续时间标尺的 TickLabelFormat 属性存储格式。
输出参数
全部折叠
h - 一个或多个图形线条对象
标量 | 向量
一个或多个图形线条对象,以标量或向量的形式返回。这些是唯一标识符,可以用来查询和修改特定图形线条的属性。有关属性列表,请参阅 Line 属性。
提示
使用 NaN 和 Inf 值将行断开。例如,以下代码绘制前两个元素,跳过第三个元素,并使用最后两个元素绘制另一线条:
plot([1,2,NaN,4,5])
plot 使用基于坐标区的 ColorOrder 和 LineStyleOrder 属性的颜色和线型。plot 循环使用具有第一种线型的颜色。然后对其他每种线型上再次按顺序循环使用颜色。
您可以通过设置 ColorOrder 和 LineStyleOrder 属性的默认值更改默认颜色和线型。例如,要将默认线型设置为带星号标记的实线、点线、无线条的圆圈标记,请使用以下命令:
set(groot,’defaultAxesLineStyleOrder’,{‘-*’,’:’,’o’})
希望我的整理能够帮助到各位小可爱!
我很弱,所以我要不断努力!
努力是因为不想让在乎的人失望!
博主整理不易,如果喜欢推荐关注一下博主哦!
博主喜欢广交好友下面是我的联系方式:
QQ:1263030049
加好友前请注明原因谢谢!
MATLAB——画图(经典)的更多相关文章
- Atitit MATLAB 图像处理 经典书籍attilax总结
Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...
- Matlab画图,坐标轴范围设置和间隔设置
在Matlab画图的时候,系统默认的坐标轴范围以及间隔有时候并不是很合适,如何根据自己的要求来显示呢,Set语句就可以帮忙咯!! 1. set(gca,'xtick',0:100:2500) ...
- Matlab画图-非常具体,非常全面
Matlab画图 强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数. ...
- 设置 matlab 画图格式
1:设置 matlab 画图格式 clear;clc; % load("array.mat"); % Bestallarray=array; % rllofcircle(Besta ...
- 如何解决 Matlab 画图时中文显示乱码的问题?
使用的是win10系统,从前几个月某一天,我的matlab的figure里的中文都变成了口口.很是郁闷,还以为是动到了什么配置引起的. 前几天更新了matlab 2018b,发现还有这个问题.就觉得不 ...
- matlab 画图进阶
matlab 画图进阶 applications of matlab in engineering 图表类型的选择 first:advanced 2d plots special plots logl ...
- matlab 画图技巧
基本画图工具:matlab 画图中线型及颜色设置 matlab中坐标轴设置技巧 **Matlab中的坐标轴设置技巧** axisoff; %去掉坐标轴 axistight; ...
- 20140513 matlab画图
1.matlab画图 x1=[1.00E-06,2.00E-06,4.00E-06,9.00E-06,2.00E-05,4.00E-05,8.00E-05,2.00E-04,4.00E-04,7.00 ...
- matlab画图函数plot()/set/legend
简单plot()/legend/XY轴范围axis 除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下 x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); ...
随机推荐
- Java——面向对象
面向对象和面向过程的区别:面向对象,强调的是对象即实体:面向过程强调的是过程,即动作. 面向对象的特点:1,将复杂的问题简单化 2,更符合人们的思考习惯 3,让曾经的在过程中的执行者,变成了指挥者. ...
- c语言,文件操作总结
C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来 ...
- 装修工人如何在网上"找活"
http://blog.sina.com.cn/s/blog_555e8fe80102wwsz.html ps:其实码农也是一种装修工. 在这个互联网时代,各个行业都在利用网络达到自己的商业目的,作为 ...
- MognoDB3.4.2用户访问配置管理
说在前面,官方文档似乎略有瑕疵. 说一下大规则:把绑定IP换成127.0.0.1IP之后,把security的authorization关闭掉做用户添加操作. 添加用户的方法必须是createUser ...
- DataReport使用手记
06年的一篇blog,转过来: 前几天,帮同事改一个VB的课业程序,具体任务就是在程序中添加报表功能,由于考虑到部署环境的问题,所以没有采用我以前惯用的Excel实现,而采用了同事提出的VB自带的Da ...
- LruCache的使用及原理
采用LRU算法实现的话就是将最老的数据删掉.利用LRU缓存,我们能够提高系统的性能. 一,是它本身已经实现了按照访问顺序的存储,也就是说,最近读取的会放在最前面,最不常读取的会放在最后(当然,它也 ...
- java之Spring(AOP)-Annotation实现添加切面
我们已经知道之前的切面添加方式(动态代理),是定义了一个实现了InvocationHandler接口的Handlerservice类,然后 在这个类内部写好切面逻辑,包括切面放置的位置,很显然下面的这 ...
- 前端工程化(二)---webpack配置
导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...
- android sqlite no such table
今天在学习android SQLite出现android sqlite no such table错误提示,提示的意思我没有创建我要插入的表,网上也没有搜索一下,也尝试了,发现还是没有解决到我的问题, ...
- MySQL中查询时"Lost connection to MySQL server during query"报错的解决方案
一.问题描述: mysql数据库查询时,遇到下面的报错信息: 二.原因分析: dw_user 表数据量比较大,直接查询速度慢,容易"卡死",导致数据库自动连接超时.... 三.解决 ...