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
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
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

0 个评论
更多回答(1 个)
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');
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!