在Matlab图中带有文本的垂直线条

时间:2017-09-27 17:57:27

标签: matlab matlab-figure

我在Matlab中创建了一个情节。为简单起见,我假设我有以下情节:

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

现在我想在x = 1,x = 3和x = 5的位置添加垂直线(从图的底部到顶部)。此外,垂直线应该有文字(在线旁边)或在线上)。例如,对于x = 1的行,我想要文本" test 1"。

如何做到这一点?这在Matlab中似乎是一件非常棘手的事情。

2 个答案:

答案 0 :(得分:1)

for i=1:2:5

hold on 

plot([i i],[0 1])

s=sprintf('test%1.0f', i)

t=text(i,1,s)

set(t,'Rotation',90)

end

答案 1 :(得分:1)

以下是绘制线条的一些方法:

FotoApparat

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y,[1 1],[-1 1],[3 3],[-1 1],[5 5],[-1 1]);

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y); hold on;
for ind1 = 1:2:5
  line([ind1 ind1],[min(y) max(y)],'Color',[0 0 0]);
end

使用x = 0:pi/100:2*pi; y = sin(x); A = zeros(6); A(sub2ind(size(A),1:6,[2 1 4 3 6 5])) = 1; plot(x,y); hold on; gplot(A, [repelem(1:2:5,1,2).', reshape(repelem([1 -1],3,1).',[],1)]); 并绘制几个命令,或立即向hold on函数提供所有输入以获得所需结果。有关更多信息,请参阅上述功能的文档。

有关文字,请参阅text