如何在MATLAB中为多个空间子图添加单个代表性颜色条?

时间:2016-10-26 12:54:55

标签: matlab geospatial subplot colorbar colormap

  

这些问题在别处含糊不清。因此,请在投票前回答并将其标记为重复。我搜索过Stackoverflow和MATLAB论坛

我试图用多个子图绘制印度的空间图(见下文)。 在这里,我想使用一个代表性的颜色条,如图所示。

我得到的颜色条是最后一个子图,它的值与其他子图不对应。

下面是我如何添加颜色条和相应的输出

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

如何为所有子图设置单个颜色条?

1 个答案:

答案 0 :(得分:0)

我想出了错误

caxis([cmin cmax])

需要包含在每个子图部分中。

在目前的代码中,它仅包含在ax(6)=subplot(2,3,6)

之后