我有一个彩色线条,我想绘制具有特定值的那些线条的颜色条 . 线条按RGB值着色 . 现在我想将colorbar的值更改为另一个值范围 . 我的意思是,我只需要将colorbar中显示的值的范围更改为另一个范围 . 在这个Link中,有我的原始颜色条输出,我想将颜色条的值更改为另一个值范围,如This . 这是我写的代码,它一直显示我的原始范围而不是我的定义范围
hold on
for k = 1:Num_Line_SIFTS
plot3([SIFT_1((k,1),SIFT_2((k,1)],[SIFT_1((k,2),SIFT_2((k,2)],[SIFT_1((k,3),SIFT_2((k,3)],...
'o-','Color',[RGB_0_1(k,1) RGB_0_1(k,2) RGB_0_1(k,3)],'MarkerFaceColor',[RGB_0_1(k,1) RGB_0_1(k,2) RGB_0_1(k,3)],'MarkerEdgeColor',...
'k', 'LineWidth',2)
end
h = colorbar;
set(h,'xlim', [ min(min(Uncertainty_Distances_between_SIFTs)) max(max(Uncertainty_Distances_between_SIFTs))])
hold off
任何人都可以帮我解决这个问题吗?
1 回答
看看'Ytick'和'YtickLabel' . 第一个用于定义要显示刻度线的颜色条(您所说的原始范围)的点(值) . 在你的图中,这些点/值是10,20,30 ... 60 . 另一方面,'YtickLabel'属性定义将在Ytick位置显示的内容(如果我理解正确,您提到的定义范围) . 因此,您可以创建一个颜色条,获取它的句柄:
然后:a)确定要在颜色栏中“勾选”多少个值(在此示例中为原始六个):
b)确定每个'滴答'中将显示的值
您还可以将完全任意的值显示为ticklabels,甚至是文本:
如果提供的ticklabel值小于定义的ticks,则ticklabels将循环 .