Color based on values from a matrix.

72 views (last 30 days)
Hello!
Quick question: I have a 3-by-n matrix with three rows, x- and y-coordinates of 5-15 randomized points on the first two rows, and mass on the 3rd row, ranging from 10-1000kg. I want the color of these points to be based on the mass, for instanse big mass=red, low mass=blue. I use the scatter function to plot these points and tried to use the third row of my matrix for color, but the colors seemed to be random. Is there a simple way of doing this?
Thanks!

Accepted Answer

Star Strider
Star Strider on 19 Oct 2018
This seems to color them correctly:
M = [randperm(20)', randperm(20)', randi(1000, 20,1)];
figure
scatter(M(:,1), M(:,2), 50, M(:,3), 'Filled')
colormap(jet(size(M,1)))
grid on
Also, it depends on the colormap (link) you are using. The jet (link) function (that I use here) colors them about the way you want.
  2 Comments
Viktor Bodin
Viktor Bodin on 19 Oct 2018
Yep this seems to work! Thank you :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!