|
|
2.対数スケールでマッピング(海面クロロフィル-a濃度)のマッピング |
|
※M_MAPパッケージをダウンロードしてパスを通しておくこと。\MATLABのパス\toolbox\local\setup.mでaddpathしておく。 | |
以下はスクリプトの抜粋 (注釈) ・変数dat2にSeaWiFS クロロフィル-aデータが格納されている。欠損値はここでは999にしていた。 ・MATLABのカラーバーは、対数スケールに対応していないので、log10を使ってdat2を変換する。 cmax=log10(3); cmin=log10(0.01); % <------------------------------------- 最大・最小値の設定 dat3=double(dat2);dat3(dat3==999)=NaN;dat3=log10(dat3); <-------- 欠損値をNaNに変更、データをlog10で変換 %a=cptcmap('GMT_wysiwyg', 'ncol',120); % 'mapping', 'direct'); %<--- GMTカラーパレットを使うならこれ a=colormap(jet(100)); a(end,:)=[1 1 1]; %<------------------------------------------------------------NaNは白抜きにする m_proj('mercator','lat',[-30 30],'lon',[110 290]); hold on; m_pcolor(lon2,lat2,dat3); shading flat; caxis([cmin cmax]); colormap(a) ; h=colorbar('location','southoutside'); set(h,'xtick',log10([0.01 0.1 1 3]),'xticklabel',[0.01 0.1 1 3],'tickdir','out'); %<---- ラベルとその位置を指定 set(get(h,'xlabel'),'String','Chl-a (mg/m^3)','fontsize',12); m_coast('patch',[0.4 0.4 0.4]); m_grid('xaxis','middle'); title([name(1:6) ' SeaWiFS Chl-a'],'fontsize',12,'fontweight','bold'); |
|