2016-10-26 11 views
0

この質問は他の場所では漠然と答えられています。したがって、投票してそれを重複としてマークする前に、それに答えてください。私はStackoverflowとMATLABフォーラムを検索しましたMATLABで複数の空間サブプロットに単一の代表的なカラーバーを追加する方法は?

私はインドの空間図をプロットしようとしています(下記参照)、複数のサブプロット。 ここでは、図に示すように1つの代表的なカラーバーを使用したいと考えています。

私が得ているカラーバーは最後のサブプロットであり、値は他のサブプロットには対応していません。以下は

は、私はすべてのサブプロットのための単一のカラーバーを置くためにどのようにカラーバーとそれぞれの出力

ax(1)=subplot(2,3,1) 

worldmap('India'); 
shape=shaperead('India.shp', 'UseGeoCoords', true); 
geoshow(shape, 'FaceColor', 'w') 
hold on 
geoshow(lat,lon,data_fill, 'DisplayType', 'surface'); 
colormap('hsv'); 

. 
. 
. 

ax(6)=subplot(2,3,6) 

worldmap('India'); 
shape=shaperead('India.shp', 'UseGeoCoords', true); 
geoshow(shape, 'FaceColor', 'w') 
hold on 
geoshow(lat,lon,data_fill, 'DisplayType', 'surface'); 
colormap('hsv'); 


h=colorbar; 

cmin = min(data_fill_of_all_sub_plot); 
cmax = max(data_fill_of_all_sub_plot); 

if mod(cmax,5)==0 
    cmax=cmax+5; 
else 
    cmax=cmax+(5-mod(cmax,5)); 
end 
caxis([cmin cmax]) % to fix the colormap scale 

set(h, 'Position', [.95 .42 .01 .5]) 

出力

image

を追加しようとしていますか、でしょうか?

+0

後に含まれている私は理解していない:あなたはすべてのサブプロットのための単一のカラーバーをしたいとまさにそれをoutputingあなたのコードを示します。質問は何ですか? –

+0

すべてのサブプロットに対して単一のカラーバーが表示されますが、カラーバーの値は他のサブプロットと一致しません。それは私が最後のサブプロットだけのためにカラーバーを置いているようなものです。ここでは、ax(6)= subplot(2,3,3)のみで使用される 'caxis([cmin cmax]) 'を持っています。今度はax(1)、ax(2)、ax 3)、ax(4)、ax(5)も同様です。私は正しい? – Mario

+0

あなたは何を言っているのか分かりません。他にもキャックスを使っていないのはなぜですか? –

答えて

0

私は間違い

caxis([cmin cmax]) 

を考え出したが、すべてのサブプロットのセクションに含まれるために必要です。

は、現在のコードでは、それが唯一のax(6)=subplot(2,3,6)

関連する問題