How can I "connect" the colorbar to my values of a scatter plot?

7 views (last 30 days)
How can I "connect" the colorbar to my values (between 0 and 1) of a scatter plot?
a = rand(1000,1);
C = 1-[a a a];
scatter(1:length(a),a,60,C,'fill')
colormap(C);
colorbar;
Here you can see that the colorbar is not gradually changing from 0 to 1.. How to fix it?

Accepted Answer

Star Strider
Star Strider on 22 Jun 2024
I am not certain what you want to do, or what you intend by ‘connect’.
One option —
a = rand(1000,1);
% C = 1-[a a a];
C = ([1;1;1]*linspace(1, 0, 1000)).';
scatter(1:length(a),a,60,C,'fill')
colormap(C);
colorbar;
.
  6 Comments
Sim
Sim on 24 Jun 2024
Edited: Sim on 24 Jun 2024
That's great, thanks a lot! Problem solved!
I was not sure about this code:
a = rand(1000,1);
C = 1-[a a a];
scatter(1:length(a),a,60,C,'fill')
l = linspace(1,0,1000)';
colormap([l l l])
colorbar
but your further check - with the two red and green points -, confirmed what I was thinking/expecting :-)
Thanks a lot for your great support!
And, I am really sorry for my confusion... My fault :-)
Star Strider
Star Strider on 24 Jun 2024
As always, my pleasure!
No worries! Often, these sorts of mathematical concepts are difficult to describe.

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!