我想制作美国地图并在其上绘制网格单元格。每个网格单元都有一个数据值,并使用颜色条中的颜色填充。
在IDL中,也许在一个特殊的包中,我不确定,有一个名为tvmap的命令可以做到这一点。我不知道如何在MATLAB中复制它。
它应该是这样的:
我将'lat'和'lon'值作为一列数字。每个lat和lon对定义了一个盒子的中心。 'data'变量包含应该进入该框的值。
这是我到目前为止所拥有的。这部分只是创建了美国地图和颜色条。我不知道如何将彩色网格映射到它上面。
figure(1);
ax = usamap('conus');
set(ax, 'units','normalized','outerposition',[0 0 1 1]);
states = shaperead('usastatelo', 'UseGeoCoords', true,...
'Selector',...
{@(name) ~any(strcmp(name,{'Alaska','Hawaii'})), 'Name'});
geoshow(ax, states,'FaceColor', 'none', 'EdgeColor', [0.5 0.5 0.5])
framem off; gridm off; mlabel off; plabel off
set(gca,'Visible','on');
hold on
% Colorbar
caxis([10 80]);
h = colorbar('location', 'EastOutside');
ylabel(h,'MDA8 O_3');
% Title
title(['Correlation Between Monthly Mean Obs and Base Simulation in ', cell2mat(cellstr(years))]); % Title changes every daytitle(str);