• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB——画图(经典)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天我发现一个非常奇怪的事情,如果你喜欢一样东西或者说是要干一件事,并不一定要把它所在领域的所有都做好,
只要做好你喜欢的就可以了,正如现在的我,突然想学习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’})

希望我的整理能够帮助到各位小可爱!

 

您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。

作者:落花四月
关于作者:潜心于网络安全学习。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab 导入libsvm发布时间:2022-07-18
下一篇:
****-三课时精通matlab导数计算-Matlab发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap