Using scatter with a custom colorbar
8 views (last 30 days)
Show older comments
I am trying to create a scatter plot, and I want to use a 128x3 colorbar I wrote myself (1st dimension is # of triplets, 2nd dimension is each triplet).
Here is the command I am using:
scatter(lat,lon,12,obs,'filled',[],c)
where lat, lon, and obs are 6251x1 and c is the colorbar (128x3).
The error I keep returning is "Color must be one RGB triplet, an m-by-3 matrix of RGB triplets iwth one color per scatter point, or an m-by-1 vector with one value per scatter point.
2 Comments
dpb
on 5 Mar 2025
Edited: dpb
on 5 Mar 2025
@Voss already answered how to use a custom colorbar but note that to color each point per the above syntax the color triplet array much match the number of elements in the x-, y- vectors. See scatter Input Arguments section for c, the marker color table for details.
As I noted in the other thread from some time ago, it's confusing, and even more so as in that thread when one uses a matrix x-, y- arrangement which scatter then treats each column as a dataset instead of each row or element so the number must match the number of columns instead.
Accepted Answer
Voss
on 5 Mar 2025
scatter(lat,lon,12,obs,'filled')
colormap(c)
6 Comments
dpb
on 6 Mar 2025
What, specifically, do you think is incorrect in the documentation for scatter? I have seen nothing that is incorrect albeit one does have to study it in some detail to get the differences in behavior depending upon the shape of the input arrays.
If there actually is some error, it should be brought to Mathworks' attention so it can be corrected.
More Answers (0)
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!