Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中将自定义彩色地图附加到geoshow中_Matlab_Colors_Geospatial_Raster - Fatal编程技术网

在matlab中将自定义彩色地图附加到geoshow中

在matlab中将自定义彩色地图附加到geoshow中,matlab,colors,geospatial,raster,Matlab,Colors,Geospatial,Raster,我正在尝试使用geoshow命令在mollweide投影中绘制世界地图。但是,我无法根据剪切后的colormap值修改绘图中的颜色。这很可能是axesm和geoshow命令如何一起使用的问题,请在这方面帮助我。参见下面的参考代码: G = rand(180,360); G(1:90,:)=-1*G(1:90,:); R = georasterref('RasterSize',size(G),... 'Latlim',[-90 90], 'Lonlim', [-180 180],'Colu

我正在尝试使用geoshow命令在mollweide投影中绘制世界地图。但是,我无法根据剪切后的colormap值修改绘图中的颜色。这很可能是axesm和geoshow命令如何一起使用的问题,请在这方面帮助我。参见下面的参考代码:

G = rand(180,360);
G(1:90,:)=-1*G(1:90,:);
R = georasterref('RasterSize',size(G),...
    'Latlim',[-90 90], 'Lonlim', [-180 180],'ColumnsStartFrom','north');

% ref this link: http://stackoverflow.com/questions/34727526/matlab-plot-raster-map-with-custom-colormap/34740112#34740112
%setting up graphics parameters 
my_colormap = [254  204   92
               253  141   60
               240   59   32
               189    0   38]/255 ;

startval=min(min(G));
endval=max(max(G));
nElements =size(my_colormap,1); 
stepSize=(endval-startval)/(nElements-1);
breaks = startval:stepSize:endval;
labels = textscan(num2str(round((breaks*100))/100),'%s') ;
labels = labels{1};
[~,indices] = histc(G,breaks);

%actual graphics               
figure
hm=axesm ('mollweid', 'Frame', 'on', 'Grid', 'off');
geoshow(G,R);%geoshow(indices,R);

colormap(my_colormap);
set(gca,'color','none');
set(gca,'box','off','xtick',[],'xcolor','none')
set(gca,'box','off','ytick',[],'ycolor','none')
hc=colorbar('location','southoutside');
caxis([breaks(1) breaks(length(breaks))])%caxis([0 length(breaks)-1])
hcP = [.7 .28 .2 .02];
set(hc,'position',hcP);
h.YTickLabel = labels ;

我的一位同事向我指出了解决方案,我将其张贴在这里供其他人参考:
geoshow(G,R,'DisplayType','texturemap')

我的一位同事向我指出了解决方案,我将其发布在这里供其他人参考: geoshow(G,R,'DisplayType','texturemap')