Matlab绘制中国干湿分区论文示意图

科技   2024-11-03 00:00   广东  


中国干湿分区简介:

800毫米年等降水量线是湿润区与半湿润区分界线。我国400毫米年等降水量线是半湿润区与半干旱区分界线。我国200毫米年等降水量线是半干旱区与干旱区的分界线。

干湿分区分布:

1、800mm年等降水量线。以秦岭—淮河为界,以南为湿润区,以北为半湿润区;

2、400mm年等降水量线。以大兴安岭—长城为界,向西南,经青藏高原到冈底斯山,划分半湿润区和半干旱区;

3、200mm年等降水量线。以内蒙古中部—贺兰山—祁连山经青藏高原为界,划分半干旱区和干旱区。


干湿地区划分:

1、年降水量>800mm,湿润区;

2、400mm<年降水量<800mm,半湿润地区北;
3、200mm<年降水量<400mm,半干旱地区;
4、年降水量<200mm,干旱地区。




Matlab绘制中国干湿分区:

clc;clear;close all
f_hgt = './ETOPO2v2g_f4.nc';
lon=ncread(f_hgt,'x');
lat=ncread(f_hgt,'y');
h=ncread(f_hgt,'z');
% 经纬度范围
lat_range=[15 55];
lon_range=[70 140];
% 查找经纬度范围在nc文件中的索引
indices_lat=find(lat>=lat_range(1) & lat<=lat_range(2));
indices_lon=find(lon>=lon_range(1) & lon<=lon_range(2));
% 提取指定范围内的数据
lat_subset=lat(indices_lat,:);
lon_subset=lon(indices_lon,:);
data_subset=h(indices_lon,indices_lat,:);
% plot出图
m_proj('Equidistant Cylindrical','long',[70 140],'lat',[15 55]);
m_contourf(lon_subset,lat_subset,data_subset',50,'linestyle','none');
hold on
ma=shaperead('
shp/中国干湿分区.shp'); 
m_line([ma(:).X],[ma(:).Y],'
color','k');%绘制范围内的地图
hold on
ma2=shaperead('
./10line.shp'); 
m_line([ma2(:).X],[ma2(:).Y],'
color','k');%绘制范围内的地图
c=colorbar('
eastoutside','ticklength',0);
clim([0,7000]);
% 调用ncl色带
load('
colorbar-mat/rainbow_r.mat');
colormap(rainbow_r);
% 调整colorbar
ax = gca;
axpos = ax.Position;
c.Position(3) = 0.5*c.Position(3);
ax.Position = axpos;
cbarrow;
m_grid('
ytick',(15:10:55),'xtick',(70:10:140),'tickdir','out','linest','none','fontname','Times','fontsize',12,'linewidth',1.5);
set(get(c,'
ylabel'),'string','海拔高度/米','fontsize',10,'fontweight','bold');
% 标注
title('
中国干湿分区DEM地形图', 'Rotation', 0, 'FontSize', 10);%显示图标题
% 添加九段线,南海小图和绘制小时降水量填色图
h2 = axes('
Position',[0.661 0.202 0.15 0.20]);
m_proj('
Equidistant Cylindrical','long',[105 124],'lat',[0 24]);
m_contourf(lon_subset,lat_subset,data_subset'
,50,'linestyle','none');
hold on
ma=shaperead('shp/中国干湿分区.shp'); 
m_line([ma(:).X],[ma(:).Y],'color','k');%绘制范围内的地图
hold on
ma2=shaperead('./10line.shp'); 
m_line([ma2(:).X],[ma2(:).Y],'color','k');%绘制范围内的地图
clim([0,7000]);
% 调用ncl色带
load('colorbar-mat/rainbow_r.mat');
colormap(rainbow_r);
axis([105 124 0 24]);box on
m_grid('box','on','linestyle','none',...
    'backgroundcolor','none',...
    'tickdir','in', ...
    'tickLength',0,...
    'LineWidth',1.2,...
    'Xtick',[],...
    'Ytick',[])





授权转载自:气象水文科研猫



点点GIS
一点GIS,一点Python,一点杂谈
 最新文章