2017-03-02 44 views
0

我一直在繪製直方圖條在Matlab(bar3),其高度小於不同顏色的閾值,無濟於事。事實上,我得到這個代碼:Matlab:三維直方圖,油漆灰色所有酒吧比z高度低

h = bar3(dataSample, 0.5); 
for n=1:numel(h) 
    cdata=get(h(n),'zdata'); 
    set(h(n),'cdata',cdata,'facecolor','interp') 
end 

enter image description here

,但無法弄清楚如何使情節是這樣的一個地方小於條說,0.001是灰色的。

enter image description here

任何想法嗎? 謝謝!

+0

只是編輯你使用的顏色圖... – bla

+0

謝謝@bla如何正確 –

回答

1

方法如下:

z=peaks(20); 
h=bar3(z) 
for n=1:numel(h) 
cdata=get(h(n),'zdata'); 
set(h(n),'cdata',cdata,'facecolor','interp') 
end 

colormap([0.5.*ones(128,3); parula(128)]); 

enter image description here

我隨意決定削減在中間的顏色表,前128場強爲灰色的下一個128強的顏色。不管你想要什麼,你都可以剪下它。你可以通過設置顏色圖分箱(比如說256個分箱)和該分區下面的灰色地方來找到你想要的閾值。

+0

太好了,非常感謝! –

+0

如果你想知道更多關於如何創建colormapw編程地看到這裏:http://stackoverflow.com/questions/17230837/how-to-create-a-custom-colormap-programatically/17232355#17232355 – bla

+0

好的非常感謝! –