向图表添加水平线

时间:2015-09-24 06:20:24

标签: matlab plot line

所以我得到了这个有2条曲线的情节,我试图在loglog图上添加最后一条曲线(A3 = .1)。出于某种原因,它不会绘制任何东西。代码如下。

f = logspace(-2,1);
A = 10./f.^2;
A3 = .1;
A2 = A + A3;
loglog(f,A,'--')
loglog(f,A2,':')
loglog(f,A3)
hold on
grid on

2 个答案:

答案 0 :(得分:1)

这是预期的行为,如您的示例中的每个后续loglog情节"覆盖"前面的。此外,A3的大小与f的大小不匹配,这就是为什么你无法在情节上看到这一行的原因。所以,要解决这些问题:

(1)你应该将hold on函数放在属于"堆栈的第一个图之后#34; (如documentation

中所述
f = logspace(-2,1);
A = 10./f.^2;
A3 = .1;
A2 = A + A3;
loglog(f,A,'--')
hold on
loglog(f,A2,':')
loglog(f,A3)
grid on

(2)您应该将A3展开到正确的尺寸:loglog(f,A3 * ones(size(A)))

答案 1 :(得分:0)

为此,在Matlab文件交换中有一个非常好的实用程序:hline/vline。此外,它内部调用hold on以避免删除绘图中的现有行。

希望这有帮助。

阿德里安。