- 积分
- 150
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-4-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 玄奘老乡 于 2019-2-25 11:52 编辑
1.使用WRF-Chem模拟出来的数据绘制PM2.5分布,我模型运用兰伯特投影,我用MATLAB绘图的时候显示的图示对的,可是坐标轴没有显示经纬度坐标,而是显示的一些小数点,这是什么原因造成的?我要从哪里下手,有知道的朋友给解释一下,看看代码哪里错了,整了一上午没找到怎么解决,谢谢了。
2.代码如下:
clc;
clear;
finfo = ncinfo("wrfout_d02.nc");
Lon = ncread("wrfout_d02.nc",'XLONG');
Lat = ncread("wrfout_d02.nc",'XLAT');
pres = ncread("wrfout_d02.nc",'P');
pres_time =pres(:,:,:,1);
pressure=pres_time(:,:,1:1:12);
provinceBorder=shaperead('F:\绘图\MATLAB绘图脚本\MATLAB绘制中国地图\MATLAB画中国地图\省界\bou2_4p.shp');%读取各省行政区划线,放到provinceBorder中。
Longitude = Lon(:,:,1:1:12);
Latitude_1 = Lat(:,:,1:1:12);
Latitude = permute(Latitude_1,[2,1,3]);
lon2d =Longitude(:,:,1);
lat2d = Latitude(:,:,1);
lat2dtre= permute(lat2d,[2,1]);
lon_min_1=min(lon2d);%经度
lon_min=min(lon_min_1);%经度
lon_max_1=max(lon2d);
lon_max=max(lon_max_1);
lat_min_1=min(lat2d);%纬度
lat_min=min(lat_min_1);
lat_max_1=max(lat2d);
lat_max=max(lat_max_1);
pm2_5Data = ncread("wrfout_d02.nc",'PM2_5_DRY');
pm2_5Dataz_12am_clock = pm2_5Data(:,:,1:1:12,2);
pm2_5Dataz_12am_clock_l_eta = pm2_5Dataz_12am_clock(:,:,1);
v_1 = pm2_5Dataz_12am_clock;
v = permute(v_1,[2,1,3]) ;%现在交换第一维和第二维;
% [x,y,z]=meshgrid(1:105,1:81,1:12);
% slice(x,y,z,v,[ 10 30 50 70 80 90 100],[],[]);
% shading interp ;
% colorbar
% colormap('jet');
% axis equal
grid on
hold on
m_proj('lambert','lon',[lon_min,lon_max],'lat',[lat_min,lat_max]);%Miller/Mercator
m_pcolor(lon2d,lat2dtre,pm2_5Dataz_12am_clock_l_eta);
hold on
m_plot([provinceBorder(:).X],[provinceBorder(:).Y],'k-','linewidth',0.2)
|
-
-
|