在图中添加垂直线?

6.346次观看(过去30天)
菲利普
菲利普 2011年2月25日
大家好,谁能告诉我如何在指定的样本点上在我的图上添加一条垂直线?例如,我有一个1x41的强度值向量,我想在中心样本(样本号21)上添加一条垂直线。很多谢谢!
3评论

登录评论。

接受的答案

米歇尔·赫希
米歇尔·赫希 2022年4月28日
编辑:MathWorks支金宝app援小组 2022年4月28日
哇哦-这是内置在MATLAB中,从R2018b开始!
如果您运行的是R2018b或更高版本,则可以使用" xline "和" yline "函数。例如,在x=5处创建一条垂直线:
参照线(5)
在y=10处画一条水平线:
yline (10)
从R2021a开始,您可以在一次传递中创建多个水平或垂直线条。例如,在x=1、x=2和x=3处创建垂直线:
Xline ([1 2 3])
如果你运行的是R2018a或更早版本,使用“plot”函数,模式如下:
水平线:
Plot ([x1 x2],[y y])
垂直的线:
Plot ([x x],[y1 y2])
例如,在x = 21处画一条垂直线。使用轴的y轴限制设置y值。
Y = ylim;%当前y轴限制
图([21 21],[y(1) y(2)])
8的评论
罗伯特·张
罗伯特·张 2021年8月23日
你好!你知道这个神奇的(很棒的)功能是否可以在bar3的Z轴上完成吗?

登录评论。

更多答案(10)

默罕默德
默罕默德 2014年7月8日
Line ([x x], [y1 y2]);是容易的命令;
4评论
基督教桑切斯
基督教桑切斯 2020年5月8日
和蔼的

登录评论。


卡弗朗哥
卡弗朗哥 2017年10月26日
编辑:MathWorks支金宝app援小组 2018年11月8日
你可以使用" plot "函数绘制水平线或垂直线:
-水平线:
Plot ([x1 x2],[y y])
-垂直线:
Plot ([x x],[y1 y2])
例如,在x = 21处画一条垂直线。使用轴的y轴限制设置y值。
Y = ylim;%当前y轴限制
图([21 21],[y(1) y(2)])
正如Steven所建议的,从R2018b开始,您可以使用“xline”和“yline”函数代替。有关更多信息,请参见:
4评论
拉斯马斯·林斯堡·尼尔森
非常感谢,工作完美!!

登录评论。


马克
马克 2013年3月12日
编辑:马克 2013年3月12日
可能是最简单的方法:
选择行“xval”处的x值。选择要显示在图形“ymin”上的最小y值和要显示在图形“ymax”上的最大y值。
x = [xval xval];
y = [ymin ymax];
情节(x, y)
这种方法的缺陷:如果你使用'-x'或'- '可能会看起来很傻。,这些标记了你在直线上的特定点,但你只有两个(至少它们是端点)。

史蒂文的主
史蒂文的主 2018年11月1日
如果您使用的是R2018b或更高版本,请使用 参照线 yline 函数分别创建具有常量x或y值的行。

骑自行车的人
骑自行车的人 2011年2月25日
一个方法:
数字
X = rand(1,41);
Y = 1:41;
情节(x, y,“r”。);
Line ([x(21) x(21)],[0 41]);
集(gca),“YLim”41, [0])

詹姆斯
詹姆斯 2014年3月28日
编辑:詹姆斯 2014年3月28日
那边有个很好的答案 http://stackoverflow.com/a/8108766/1194420 为了方便起见,重复如下。---
这里有一个没有文档的函数graph2d.constantline:
情节(2:5,(2:5)。^ 2 - 1)
%#垂直线
Hx = graph2d.constantline(0,“线型”“:”“颜色”,(。7.7.7]);
changedependvar (hx“x”);
%#水平线
Hy = graph2d.constantline(0,“颜色”,(。7.7.7]);
changedependvar (hy,“y”);
5个评论
艾德里安•彼得斯
艾德里安•彼得斯 2020年2月8日
移动:为副总经理 2023年2月25日
现在我明白了!非常感谢!

登录评论。


佩德罗·路易斯Camuñas García-Miguel
也许有点晚了,但我想贡献一点,有一个非常简单的方法来添加垂直线和水平线,你只需要使用一个hold,然后在主要情节上重叠它们。
在声明原始的plot之前,添加一个hold on以确保它将保留两个plot,然后用这样的结构绘制线条:
持有
情节(主函数
Plot ([x x],[0 y_max])%垂直线
Plot ([o x_max],[y y])%水平线
被:
X:横轴上你放置垂直线的位置。
Y:纵轴上你放置水平线的位置。
X_max:垂直直线的结束点。
Y_max:您希望水平线结束的点。
我希望这对浏览此页的人有用。
2的评论

登录评论。


朱利安•威廉姆斯
朱利安•威廉姆斯 2019年2月9日
额外的小建议,比如你想在图例中标记你的线,这样它就有一些意义,或者利用一些易于使用的选项在plot中,那么使用“hold”,ylim从当前轴和“repmat”是非常有用的。您还可以使用此技术制作多个具有一定间距的垂直线。
数字
做一些说明
T = 1000;
A = 0.7;
H = [];
Y = cumsum(√(0.05).*randn(T,1));
X = (1: t)./ t;
I = find(X>A);
Y(i) = Y(i (1));
h(1) = plot(X,Y,“- k”“线宽”2);
持有
暗= get(gca,“ylim”);
Yy = linspace(dims(1),dims(2),100);
xx = repmat(A, 1100);
H (2) = plot(xx,yy,“:r”“线宽”2);
暗= get(gca,“xlim”);
xx = linspace(dims(1),dims(2).*A,100);
yy = repmat(Y(I(1)), 1100);
H (3) = plot(xx,yy,“b”“线宽”2);
网格
G = legend(h,粒子运动的“停止点”“停止价值”);
集(G,“位置”“最佳”“翻译”“乳胶”);
只是一个想法。

科恩的家伙
科恩的家伙 2022年11月22日
你可以使用arrayfun
x = 1:180;
人物,情节(x,信德(x));%——你的图形
vLines=[20 40 50 120];%——要绘图的直线向量
持有;arrayfun (@xline vLines);%——绘制垂直线
2的评论
科恩的家伙
科恩的家伙 2022年11月22日
同意,但是xline只在最新版本中接受向量

登录评论。


乔斯(10584)
乔斯(10584) 2014年7月8日
您可能还对文件交换中的GRIDXY感兴趣:

类别

了解更多标签和注释帮助中心而且文件交换

标签

还没有输入标签。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的