How to only plot data points within a certain range?

11 views (last 30 days)
Let's say I have data points from 1 to 10000 (logarithmic) for both x and y, but only want to plot the points for x>10 and y<10 on a scatter plot. How would I do that?
What if I were to only exclude that region from the graph? How would I go about doing that?
Moreover, how can I count the number of data points only within that region using MatLab?

Answers (1)

Star Strider
Star Strider on 4 May 2018
One approach:
x = randi(50, 1, 50); % Create Data
y = randi(50, 1, 50); % Create Data
figure(1)
scatter(x, y, 'p')
grid
axis([0 50 0 50])
title('Original Data')
m = (x > 10) & (y < 10); % Select Data (Logical Vector)
figure(2)
scatter(x(m), y(m), 'p')
grid
axis([0 50 0 50])
title('Selected Data')
  2 Comments
Brian Hsiao
Brian Hsiao on 4 May 2018
Thank you! How do I count the number of points within that range?
Star Strider
Star Strider on 4 May 2018
My pleasure!
One additional line will give you that information:
m = (x > 10) & (y < 10); % Select Data (Logical Vector)
NrInRange = nnz(m); % Number Of Points Meeting Criteria
another option:
NrInRange = sum(m); % Number Of Points Meeting Criteria

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!