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

8.111次浏览(过去30天)

接受的答案

米金
米金 于2014年2月27日
编辑:MathWorks支金宝app持团队 2021年3月16日
本杰明,补充说
抓住
情节(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 = plot(x,y,'O-'“MarkerIndices”,10)
您还可以指定标记属性,例如面部颜色和边缘颜色。
p = plot(x,y,'O-''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 = plot(x,y,“MarkerIndices”10);
如果您存储了句柄,请随时移动标记 H
H.Markerindices = 5:5:长度(x);
1条评论
MathWorks支金宝app持团队
MathWorks支金宝app持团队 2018年11月27日
此外,您还可以指定“O-”行样式,它创建实线和标记。您还可以指定标记属性,例如面部颜色和边缘颜色。
x = linspace(0,π,30);
y = sin (x);
p = plot(x,y,'O-''markerfacecolor''红色的'“MarkerEdgeColor”'红色的'“MarkerIndices”,10)

登录评论。


纳克
纳克 于2017年1月9日
你好,这个标记在plot中不需要编写代码,在figure editor中把标记放在plot中是可能的吗?
对于正弦曲线,我只有x数据,我没有y数据,但我需要在曲线上标记,这意味着我将给出x值,根据x值,它应该正好放在正弦曲线上,
1条评论
沃尔特罗伯森
沃尔特罗伯森 于2017年1月9日
对于R2014b或之后(我将不得不检查更早;我看到了一些2012年的参考资料),你可以使用 数据刷牙 。单击图中的PaintBrush,然后您可以单击一个点以标记它。
用于标记仅给出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 max(this_xdata)
继续;直线没有张成x
结尾
x_diff = diff (this_xdata);
如果isempty(x_diff)
fprintf('跳过线#%d是单点\ n',k);
eleesif.所有的x_diff (x_diff < 0)
%它是单调,安全做插值
this_ydata = get(this_line,“YData”);
Y_to_mark = interp1(this_xdata, this_ydata, x_to_mark);
of_marks = of_marks + 1;
where_to_mark(number_of_marks,:) = [x_to_mark,y_to_mark];
其他的
fprintf('跳过行#%d与未排序的x数据\n',k);
结尾
结尾
如果number_of_marks == 0.
fprintf(' x不在一行上,我们可以处理\n');
其他的
抓住
情节(where_to_mark (: 1) where_to_mark (:, 2),的r *);
结尾
这可能比你期望的时间更长。您没有碰巧提供我们可能习惯于使其更短的信息。例如,如果您知道只有一行,并且当绘制时,x被排序,并且x值肯定在范围内,则代码可以更短。

登录评论。

社区寻宝

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

开始狩猎!

翻译的