[matlab]請教關於matlab的colormap&colorbar用法 |
尚未結案
|
popsbt
一般會員 發表:5 回覆:2 積分:1 註冊:2004-05-28 發送簡訊給我 |
因為小弟目前要作的是要依矩陣內容值的大小以colormap顏色來對應.
然後旁邊又顯示colorbar..(是以jet(64)來顯示) 但是目前遇到的問題是.matlab內部會自動判斷我矩陣內容值的大小.最小的用colorbar最下方的顏色表示..最大用"colorbar最上方的顏色表示. 但是因為矩陣元素我所儲存的最小值為-1..但我不想要colormap自動也把-1也用顏色對應出來... 也就是說..我想要設定界限範圍..假如矩陣最小值10~最大值50才用colormap以顏色顯示出來.. 其他不在設定值範圍內的...就不要用顏色顯示出來...(不知道沒顯示出來的是否可以用透明..?因為底下還要再疊一張底圖.如果沒有顏色的地方是透明的話.才能看到底下的圖) 有試過"caxis([cmin cmax])"這個function...但是他的用法是低於cmin的值也自動把它當作是最小值(-1也是把它用代表10的顏色顯示)...大於cmax的值也是一樣作法... 如此就無法達到我想要的效果... 所以懇請各位先進...想請教各位有何方法可以解決?因為小弟是新手..感謝.... 底下是我部分的程式碼... a=meta_sdev(:,:,12); b=meta_conc(:,:,12); for i=1:32 for j=1:32 if a(i,j)<=20 c(i,j)=a(i,j); else c(i,j)=-1; end end end max_conc=0; min_conc=10000; for i=1:32 for j=1:32 if c(i,j)>max_conc max_conc=c(i,j); else if c(i,j) min_conc=c(i,j); end end end end for i=1:32 for j=1:32 if c(i,j)>0 c(i,j)=1 63*(c(i,j)-min_conc)/(max_conc-min_conc); end end end image(c); colormap(jet(64)); colorbar; 還有...順道請教一下...就是colormap出來的顏色圖..我用"shading interp"之後....出來的結果也是沒有內插之後平滑的效果...(跟沒有使用"shading interp"是ㄧ模一樣的) 感謝... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |