У меня есть несколько точек в цветовой карте "jet". Баллы имеют коэффициент, который может варьироваться от 0 до 1, но обычно они не охватывают весь диапазон, например, 0,75-0,9.
Когда я рисую эти точки, я окрашиваю их так, что 0,75 — это меньший цвет в палитре, а 0,9 — максимальный цвет в палитре, поэтому отображается вся палитра. Что я хочу сделать, так это показать это и на цветовой полосе. Когда я рисую цветную полосу, метки на ней достигают 64, но я хочу, чтобы они были от 0,75 до 0,9. Как я могу это сделать?
EDIT Я не думаю, что сам код сильно помогает, но вот, на всякий случай. В переменной colors
я конвертирую ZNCC
в диапазон палитры.
ИЗМЕНИТЬ2
Я нашел причину, почему у меня не работает caxis
. Вот код:
%this is why it doesnt work
im=imread('someimageyouwanttotest_inRGB.png')
imshow(im)
points=[1, 2;1 , 2 ;0.3,0.7]
ZNCC=points(3,:)
cmap=colormap('jet');
colors=cmap(round( ((1-min(ZNCC))+ZNCC-1).*(size(cmap,1)-1)/max((1-min(ZNCC))+ZNCC-1))+1,: );
hold on
for i=1:length(ZNCC)
plot(points(1,i),points(2,i),'.','Color',colors(i,:));
end
colorbar()
hold off
caxis
, потому что я думаю, что это одновременно отсортирует диапазон цветовых полос. Я просмотрел свой прошлый скрипт, который использовалcaxis
, и диапазон цветовой шкалы соответствует тому, что я указал с помощьюcaxis
. - person Dan   schedule 15.04.2013caxis([min(ZNCC) max(ZNCC)]); colorbar();
должно помочь - person Tobold   schedule 15.04.2013