marking a points in a curve that match condition

2 次查看(过去 30 天)
Hello , i have a plot from two vectors X and Y how can i mark on the plot all the point in which the Y values are between 5 and 7?
thanks
  1 个评论
Jan
Jan 2017-3-16
Please add some test data, which match your code. Currently the information is vague only and answering must be based on guessing.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2017-3-17
Try this:
numPoints = 20;
offset = 0.05; % How much away from the marker the text should be.
x = sort(rand(1, numPoints));
y = 10 * rand(1, numPoints);
plot(x, y, 'g', 'LineWidth', 2);
hold on;
index = (5 < y & y < 7);
plot(x(index), y(index), 'or', 'LineWidth', 2);
grid on;
for k = 1 : length(y)
if index(k)
caption = sprintf('x=%.2f, y=%.2f', x(k), y(k));
text(x(k) + offset, y(k) + offset, caption, 'BackgroundColor', 'y');
end
end

更多回答(1 个)

Jan
Jan 2017-3-16
x = 1:100;
y = rand(1, numel(x)) * 10;
plot(x, y, 'g');
hold('on');
index = (5 < y & y < 7);
plot(find(index), y(index), 'or');

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by