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

10 299意见(过去30天)

接受答案

米克金
米克金 于2014年2月27日
编辑:Mathworks支金宝app持团队 2021年3月16日
本杰明,补充说
抓住
绘图(X_POS,Y_POS,'r *'
到你的代码。 (X_POS,Y_POS) 是需要标记的数据点。所以,如果你有
x = 0:0.1:pi;
y = sin(x);
你可以使用
绘图(x,y)
抓住
绘图(x(10),y(10),'r *'标记x和y的第10个数据点
或者, 从R2016B开始,您可以 指定 Markerindices. 财产 绘制一条线 Marke. R. s在特定的数据点 例如,在10的标记上绘制一条线 TH. 数据点。
x = 0:0.1:pi;
y = sin(x);
p = plot(x,y,'O-''Markerindices',10)
您还可以指定标记属性,例如面部颜色和边缘颜色。
p = plot(x,y,'O-''markerfacecolor''红色的''markeredgecolor''红色的''Markerindices',10)
4评论
沃尔特罗伯森
沃尔特罗伯森 于1月4日2021年
你能否扩展你对小数点的绘制点的意思?例如,你想做吗?
套(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,pi,30);
y = sin(x);
p = plot(x,y,'O-''markerfacecolor''红色的''markeredgecolor''红色的''Markerindices',10)

登录评论。


Navi G.
Navi G. 于2017年1月9日
您好,这是绘图中的标记是否可以在没有编写代码,并在图编辑器中绘制标记,
并且对于SINOSOIDAL曲线,我只有X数据,我没有数据,但我需要在曲线上标记,意味着我将基于x值给出x值它应该放在曲线上完全放在SINOSOIDAL曲线上,
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:长度(all_lines)
this_line = all_lines(k);
this_xdata = get(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> 0)|所有(x_diff <0)
%它是单调,安全做插值
this_ydata = get(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];
别的
fprintf('跳过线#%d带有未蚀刻的x data \ n',k);
结尾
结尾
如果number_of_marks == 0.
fprintf(“我们可以处理的一行中找不到x);
别的
抓住
绘图(where_to_mark(:,1),其中_to_mark(:,2),'r *');
结尾
这可能比你期望的时间更长。您没有碰巧提供我们可能习惯于使其更短的信息。例如,如果您知道只有一行,并且当绘制时,x被排序,并且x值肯定在范围内,则代码可以更短。

登录评论。

社区宝藏狩猎

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

开始狩猎!