目录
语法
说明
示例
绘制一个线条
绘制多个线条
指定轴标签和刻度值
将点绘制为不带线的标记
添加图例
仅指定 y 坐标
指定目标坐标区
绘图后更改线特性
loglog函数的功能是为双对数刻度图
语法
loglog(X,Y)
loglog(X,Y,LineSpec)
loglog(X1,Y1,...,Xn,Yn)
loglog(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
loglog(Y)
loglog(Y,LineSpec)
loglog(___,Name,Value)
loglog(ax,___)
lineobj = loglog(___)
说明
loglog(X,Y) 在 x 轴和 y 轴上应用以 10 为底的对数刻度来绘制 x 和 y 坐标。
-
要绘制由线段连接的一组坐标,请将 X 和 Y 指定为相同长度的向量。
-
要在同一组坐标轴上绘制多组坐标,请将 X 或 Y 中的至少一个指定为矩阵。
loglog(X,Y,LineSpec) 使用指定的线型、标记和颜色创建绘图。
loglog(X1,Y1,...,Xn,Yn) 在同一组坐标轴上绘制多对 x 和 y 坐标。此语法可替代将坐标指定为矩阵的形式。
loglog(Y) 绘制 Y 对一组隐式 x 坐标的图。
-
如果 Y 是向量,则 x 坐标范围从 1 到 length(Y)。
-
如果 Y 是矩阵,则对于 Y 中的每个列,图中包含一个对应的行。x 坐标的范围是从 1 到 Y 的行数。
如果 Y 包含复数,loglog 绘制 Y 的虚部对 Y 的实部的图。但是,如果同时指定了 X 和 Y,MATLAB® 会忽略虚部。
示例
绘制一个线条
将x定义为一个由区间 [10^−1,10^2] 内的 50 个对数间距数组成的向量。将y定义为 2^x。然后绘制x和y,并调用grid函数显示网格线。
x = logspace(-1,2);
y = 2.^x;
loglog(x,y)
grid on
绘制多个线条
创建一个由 x 坐标组成的向量和两个由 y 坐标组成的向量。通过将以逗号分隔的 x-y 对组传递给 loglog 绘制两个线条。
x = logspace(-1,2);
y1 = 10.^x;
y2 = 1./10.^x;
loglog(x,y1,x,y2)
grid on
也可以通过将 y 指定为矩阵来用一个 x-y 对组创建相同的图:loglog(x,[y1;y2])。
指定轴标签和刻度值
创建一组 x 坐标和 y 坐标,并将其显示在双对数图中。
x = logspace(-1,2,10000);
y = 5 + 3*sin(x);
loglog(x,y)
调用 yticks 函数,沿 y 轴以将 y 轴刻度值置于整数增量值位置。然后通过调用 xlabel 和 ylabel 函数创建 x 和 y 轴标签。
yticks([3 4 5 6 7])
xlabel('x')
ylabel('5 + 3 sin(x)')
将点绘制为不带线的标记
创建一组 x 坐标和 y 坐标,并将其显示在双对数图中。将线型指定为 's' 以显示不带连接线的方形标记。将标记填充颜色指定为 RGB 三元组 [0 0.447 0.741],它对应于深蓝色。
x = logspace(-1,2,20);
y = 10.^x;
loglog(x,y,'s','MarkerFaceColor',[0 0.447 0.741])
grid on
添加图例
创建两组 x 坐标和 y 坐标,并将其显示在一个双对数图中。通过调用 legend 函数并将位置指定为 'northwest',在绘图的左上角显示图例。
x = logspace(-1,2,10000);
y1 = 5 + 3*sin(x/4);
y2 = 5 - 3*sin(x/4);
loglog(x,y1,x,y2,'--')
legend('Signal 1','Signal 2','Location','northwest')
仅指定 y 坐标
当仅指定一个坐标向量时,loglog 会绘制这些坐标对值 1:length(y) 的图。例如,将 y 定义为一个由 0.001 和 100 之间的 6 个值组成的向量。创建 y 的双对数图。
y = [0.001 0.01 0.1 1 10 100];
loglog(y)
grid on
如果将 y 指定为矩阵,则绘制 y 的列对值 1:size(y,1) 的图。例如,将 y 定义为 5×3 矩阵,并将其传递给 loglog 函数。生成的图包含 3 个线条,其中每个线条的 x 坐标都是从 1 到 5。
y = [0.0010 0.0100 0.1000
0.0100 0.1000 1.0000
0.1000 1.0000 10.0000
1.0000 10.5000 100.0000
10.0000 100.0000 1000.0000];
loglog(y)
grid on
指定目标坐标区
创建一个采用 'flow' 图块排列方式的分块图布局,以便坐标区填充布局中的可用空间。接下来,调用 nexttile 函数创建一个坐标区对象,并返回它作为 ax1。然后通过将 ax1 传递给 loglog 函数来显示一个双对数图。
tiledlayout('flow')
ax1 = nexttile;
x = logspace(-1,2);
y1 = 10.^x;
loglog(ax1,x,y1)
重复该过程以创建第二个坐标区对象和第二个双对数图。
ax2 = nexttile;
y2 = 1./10.^x;
loglog(ax2,x,y2)
绘图后更改线特性
创建一个包含两个线条的双对数图,并以变量lg形式返回行对象。
x = logspace(-1,2);
y1 = 10.^x;
y2 = 1./10.^x;
lg = loglog(x,y1,x,y2);
将第一个线条的宽度更改为 2,并将第二个线条的颜色更改为紫色。
lg(1).LineWidth = 2;
lg(2).Color = [0.4 0 1];
提示
使用 NaN 或 Inf 在线条中创建断点。例如,以下代码绘制一条在 y=2 和 y=4 之间具有一个断点的线条。
loglog([1 2 3 4 5],[1 2 NaN 4 5])
loglog 函数基于坐标区的 ColorOrder 和 LineStyleOrder 属性选用颜色和线型。loglog 先对第一种线型依序使用每种颜色,直至用尽。然后,再对下一个线型依序使用每种颜色,以此类推。文章来源:https://www.toymoban.com/news/detail-449529.html
通过在坐标区中设置 ColorOrder 或 LineStyleOrder 属性,可以在绘图后更改颜色和线型。也可以调用 colororder 函数来更改图窗中所有坐标区的色序。文章来源地址https://www.toymoban.com/news/detail-449529.html
到了这里,关于Matlab中loglog函数使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!