【问题标题】:How do I plot a single vertical line in matlab?如何在matlab中绘制一条垂直线?
【发布时间】:2019-03-26 10:27:12
【问题描述】:
theta = linspace(0,2*pi,200); y = theta;x = 10;plot(x,y,'o');

当我写这篇文章时,我得到了分数,但是当我用 plot(x,y) 替换 plot(x,y,'o') 时,我应该在 x=4 处得到一条垂直线,但图表为空..

【问题讨论】:

  • 欢迎来到 Stackoverflow。请参考stackoverflow.com/help/how-to-ask。请添加您所面临问题的更多详细信息。
  • plot([xStart xEnd], [yStart yEnd]) 怎么样,如果你只需要两点之间的线?
  • 在 R2018b 以后,有函数 xline 用于此。
  • (CASE 1)当我编写以下代码时,我得到一个包含 10 个点的图形(在 y=x 方向上)代码是 *** x = linspace(0,10,10); y = x ;绘图(x,y,'o'); ***(CASE 2)现在如果我在上面的代码中只写 plot(x,y) 而不是 plot(x,y,'o') 我得到 y=x 行,这是预期的但是现在在以下情况下(案例 3)当我编写以下代码时 ***a= linspace (0,2*pi,20); y = a; x = 10;情节(x,y,'o'); *** 结果是我得到 20 分(与案例 1 相同)现在如果我在上面的代码中将 plot(x,y,'o') 替换为 plot (x,y)(在案例 3 中),我应该得到一个行(与案例2相同)但我不明白

标签: matlab plot


【解决方案1】:

你可以使用stem

x = 10;
y = 200;
stem(x,y,'Marker','none');

【讨论】:

  • 聪明。并且适用于xline 发布之前的版本。 (+1)
【解决方案2】:

来自这个答案:https://it.mathworks.com/matlabcentral/answers/2031-adding-vertical-line-to-plot

fig=figure; 
hax=axes; 
x=0:0.1:10; 
hold on 
plot(x,sin(x)) 
SP=1; %your point goes here 
line([SP SP],get(hax,'YLim'),'Color',[1 0 0])

【讨论】: