全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:8845
推到 Plurk!
推到 Facebook!

[matlab]請教關於matlab的colormap&colorbar用法

尚未結案
popsbt
一般會員


發表:5
回覆:2
積分:1
註冊:2004-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-12-16 15:12:27 IP:218.171.xxx.xxx 訂閱
因為小弟目前要作的是要依矩陣內容值的大小以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)0
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"是ㄧ模一樣的)
感謝...
系統時間:2024-04-30 4:25:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!