im trying to plot values greater than a threshold in a different color. for example i want to plot values greater than 100 in the image in red

 Réponse acceptée

Image Analyst
Image Analyst le 12 Août 2014
% Create sample data.
y = randi(160, 1, 40); % Array of random numbers
x = 1 : length(y);
% Plot everything with blue spots and blue lines between them.
plot(x, y, 'bo-', 'LineWidth', 2, 'MarkerSize', 7);
grid on;
% Now define a threshold.
threshold = 100;
moreThanThreshold = y > 100; % Logical indexes.
% Extract those over the threshold into new arrays.
over_x = x(moreThanThreshold);
over_y = y(moreThanThreshold);
% Now plot those over 100 with red stars over the first set of points.
hold on; % Important so you don't blow the first plot away.
plot(over_x, over_y, 'r*', 'LineWidth', 2, 'MarkerSize', 13);

3 commentaires

ishbish
ishbish le 12 Fév 2018
This is great, but only seems to work as a threshold on the y-axis (like a horizontal 'cutoff point').
I need a cutoff point along a certain slope. E.g. as opposed thresholding my data at the line x=100, I might want it thresholded at the line y=3x. How could I go about this?
Thanks for any help!
Image Analyst
Image Analyst le 12 Fév 2018
Start a new question and attach some actual data, and if possible a picture of what you'd like to see.
ishbish
ishbish le 19 Fév 2018
I ultimately decided to apply a rotation matrix to my data and then just do it as described above, much easier! Thank you for the advice though.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by