gpt4 book ai didi

matlab - Matlab 图中单点的图例

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:36 25 4
gpt4 key购买 nike

我在使用 legend 函数时遇到了一些问题。我的代码如下:

xax = logspace(1, 4, 1000);
R1 = sqrt(R11.*R21);
%freq and mag are vectors of length 300
loglog(freq, mag, 'k-');
hold on;
loglog(xax, R1, 'r-');
loglog(f1, R1, 'bo');
loglog(f2, R1, 'bo');
legend('|Zvc|', 'R1', 'f1', 'f2');

但是,图例并不像我预期的那样有效。它显示前两条黑线和红线,这很好。但最后两点显示为红线而不是蓝色圆圈。这是一张显示不正确图例的图片:

enter image description here

f1f2 是表示交点的标量值。

有没有办法调整我的代码以使图例看起来正确?

最佳答案

legend 将最后两个图显示为红线的原因是您的第二个 loglog 函数返回多个句柄。看似一根线,其实是多根线叠加而成。将 loglog(xax, R1, 'r-'); 更改为 h=loglog(xax, R1, 'r-'),您就会看到。 legend 函数将您提供给它的字符串按照它们的创建顺序应用于当前绘图中的每个句柄。发生这种情况是因为 R1 是标量,而 xax 是向量。 Matlab 的所有绘图函数都以这种方式工作。

以下是我将如何更改相关行:

loglog(xax, R1+zeros(size(xax)), 'r-');

虽然如果它总是一条线,这就足够了:

xax = logspace(1, 4, 2);
loglog(xax, [R1 R1], 'r-');

关于matlab - Matlab 图中单点的图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com