quantized colorbar
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I would like a colorbar that only shows the colors of numbers that exist in the dataset.
Example:
x = -2*pi:0.01:2*pi;
y = x;
[X Y] = meshgrid(x,y);
Z = sign(round(cos(X).*cos(Y)));
imagesc(x,y,Z);colorbar;
There are only 3 possible numbers in the output matrix. Unfortunately, the colorbar will still show a full gradient.
I would appreciate a method for generating a colorbar with only the levels that are present.
1 Kommentar
Akzeptierte Antwort
Sean de Wolski
am 7 Sep. 2011
X = sign(round((rand(10)-.5)*2));
imagesc(X);
un_X = unique(X);
colormap(cool(length(un_X)));
H = colorbar;
set(H,'ytick',un_X);
Manually set the colormap and the colorbar's ytick to the unique values of X.
3 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Color and Styling finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!