如何设置一个标志在一个特定的点上一块(看图片)?
7.150视图(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 *)% 10 x和y的数据点
另外,
从R2016b开始,你可以
指定
的
MarkerIndices
财产
绘制一条线,
马克
r
在特定的数据点
。
例如,阴谋与10的标志
th
数据点。
x = 0:0.1:π;
y = sin (x);
p =情节(x, y,“啊——”,“MarkerIndices”,10)
您还可以指定标记属性,如颜色和边缘的颜色。
p =情节(x, y,“啊——”,“MarkerFaceColor”,“红色”,“MarkerEdgeColor”,“红色”,“MarkerIndices”,10)
6个评论
更多的答案(2)
格雷格
2017年12月6日
编辑:格雷格
2017年12月6日
7 k观点的一个月,我很惊讶这还没有更新。
从R2016b开始,有一个
MarkerIndices
财产。而不是其他答案的建议:
情节(x, y);
持有在;
情节(x (10), y (10),的r *);
现在简单地使用:
h =情节(x, y,“MarkerIndices”10);
移动标记(s)在任何时候如果你存储处理
h
:
h。MarkerIndices = 5:长度(x);
1评论
MathWorks支金宝app持团队
2018年11月27日
此外,您可以指定“啊——”线条样式,创建一个实线和标记。您还可以指定标记属性,如颜色和边缘的颜色。
x = linspace(0,π,30);
y = sin (x);
p =情节(x, y,“啊——”,“MarkerFaceColor”,“红色”,“MarkerEdgeColor”,“红色”,“MarkerIndices”,10)
纳克
2017年1月9日
你好,这是标记在阴谋不可能不写代码,并将在图在图编辑器,
我只有x sinosoidal曲线数据,我没有y数据,但是我需要在曲线,意味着我将给x值,基于x值应该在曲线完全sinosoidal曲线上,
1评论
沃尔特·罗伯森
2017年1月9日
对于标记特定位置给定的只有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 =得到(this_line,“XData”);
如果x_to_mark < min (this_xdata) | x_to_mark > max (this_xdata)
继续;% x线不跨越
结束
x_diff = diff (this_xdata);
如果isempty (x_diff)
流(跳过行# % d是单点\ n”、K);
elseif所有(x_diff > 0) | (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值肯定是在范围内,然后代码可以更短。