Colorbar with a range taken from a variable

Hello,
I have a matrix organized in this way:
M= col1, col2.... col10
col1 and col2 are the x and y position of the data, col10 is a property of this data and it is a number.
I would like to use the numbers in col10 to make a colormap and assign ot every point a specific color that depends on the value in col10.
I did this long time ago, but I don't remember how, can somebody help me, please?
Thanks
F.

 Accepted Answer

I am not certain what plot you want to use or what result you want.
Perhaps something like this —
x = linspace( 0, 5);
y = linspace(-5, 5);
z = exp(-((x-2.5).^2 + y.^2));
figure
scatter3(x, y, z, 25, z, 'filled')
colormap(turbo)
colorbar
view(45,30)
x = randn(1, 1000);
y = randn(1, 1000);
z = exp(-(x.^2 + y.^2));
figure
scatter3(x, y, z, 25, z, 'filled')
colormap(turbo)
colorbar
.

5 Comments

YES!!!
I did it, thanks!
figure(1)
scatter(L01(:,2),L01(:,3),[],L01(:,10)/10^6,'+')
colorbar
xlim([-20 20])
ylim([-20 20])
xlabel('x [mm]')
ylabel('y-[mm]')
title('Gaf n. 1')
is it correct like this?
As always, my pleasure!
Yes! That is correct. The syntax depends on the plot you want. For a 2D scatter plot, the fourth argument defines the colour of the markers.
Thanks a lot Star Strider,
If what I wrote is ok than your example helped my memory a lot!
Cheers
As always, my pleasure!
Thank you!

Sign in to comment.

More Answers (1)

Try something like
M = [col1; col2; col10];
contourf(M, col10)
colorbar('Ticks', col10)
This creates a contour plot with the specific levels from col10 and while labeling them in a color bar. Let me know if this helps.

Products

Release

R2018a

Tags

Community Treasure Hunt

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

Start Hunting!