如何在情节的一个特定点设置标记(请看图片)?

11702次浏览(最近30天)

接受的答案

米金
米金 2014年2月27日
编辑:MathWorks支金宝app持团队 2021年3月16日18:56
本杰明,添加
持有
情节(x_pos y_pos,的r *
你的代码。 (x_pos y_pos) 是需要标记的数据点。如果你有
x = 0:0.1:π;
y = sin (x);
您可以使用
情节(x, y)
持有
情节(x (10), y (10),的r *%表示x和y的第10个数据点
另外, 从R2016b开始,你可以 指定 MarkerIndices 财产 画一条线 马克 r S在特定的数据点上 例如,在10处画一条线 th 数据点。
x = 0:0.1:π;
y = sin (x);
p =情节(x, y,“啊——”“MarkerIndices”, 10)
您还可以指定标记属性,例如面颜色和边缘颜色。
p =情节(x, y,“啊——”“MarkerFaceColor”“红色”“MarkerEdgeColor”“红色”“MarkerIndices”, 10)
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年1月4日
你能详细解释一下用小数点画点的意思吗?比如,你想做什么
集(h,“XData”x (20.3),“YData”y (20.3));%分数为20.3分。

登录评论。

更多的答案(2)

格雷格
格雷格 2017年12月6日
编辑:格雷格 2017年12月6日
一个月有7k的浏览量,我很惊讶这个没有更新。
从R2016b开始,有一个 MarkerIndices 财产。而不是另一个答案:
情节(x, y);
持有
情节(x (10), y (10),的r *);
现在简单地使用:
h =情节(x, y,“MarkerIndices”10);
如果你已经储存了把手,可以随时移动标记 h
h.MarkerIndices = 5:长度(x);
1评论
MathWorks支金宝app持团队
MathWorks支金宝app持团队 2018年11月27日
此外,您可以指定“o-”线样式,这将创建实线和标记。您还可以指定标记属性,例如面颜色和边缘颜色。
x = linspace(0,π,30);
y = sin (x);
p =情节(x, y,“啊——”“MarkerFaceColor”“红色”“MarkerEdgeColor”“红色”“MarkerIndices”, 10)

登录评论。


纳克
纳克 2017年1月9日
您好,是否可以在不写代码的情况下在图中标记,并在图编辑器中将标记放在图中,
对于正弦曲线,我只有x数据,没有y数据,但我需要在曲线上标记,这意味着我要给出x值,基于x值它应该在曲线上恰好在正弦曲线上,
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年1月9日
对于R2014b或之后的版本(我需要提前检查一下;我看到一些参考在2012年的时间框架)你可以使用 数据刷 .点击图中的画笔,然后你可以点击一个点来标记它。
只给出x来标记一个特定的位置,那么
x_to_mark = SomeSpecificXValue;
all_lines = findobj (gca),“类型”“行”);
number_of_marks = 0;
where_to_mark = [];
K = 1: length(all_lines)
this_line = all_lines (K);
this_xdata =得到(this_line,“XData”);
如果X_to_mark < min(this_xdata) | X_to_mark > max(this_xdata)
继续这条线不能张成x
结束
x_diff = diff (this_xdata);
如果isempty (x_diff)
流('skip line #%d that is single point\n'、K);
elseif| All (x_diff < 0)
%它是单调的,做插值是安全的
this_ydata =得到(this_line,“YData”);
Y_to_mark = interp1(this_xdata, this_ydata, x_to_mark);
Number_of_marks = Number_of_marks + 1;
Where_to_mark (number_of_marks,:) = [x_to_mark, y_to_mark];
其他的
流('跳过行#%d未排序x数据\n'、K);
结束
结束
如果number_of_marks = = 0
流(' x不在一条线上,我们可以处理\n');
其他的
持有
情节(where_to_mark (: 1) where_to_mark (:, 2),的r *);
结束
这可能比你想象的要长很多。你没有提供我们可能用来缩短它的信息。例如,如果您知道只有一行,并且在绘制时x已经排序,并且要标记的x值肯定在范围内,那么代码可以缩短得多。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!