- 积分
- 150
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-4-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我在使用WRFOUT数据绘制图的时候,出现了一个边缘锯齿问题,而这个只出现在左侧,想了很久不知道怎么解决,有没有朋友遇到过。
代码如下:
%% 绘图
%%------------------------------------导入数据-----------------------------
clc;clear;close all;
%% 中国地图shapefile导入
ChinaL=shaperead('F:\绘图\MATLAB绘图脚本\MATLAB绘制中国地图\MATLAB画中国地图\新建文件夹\chinamap\bou2_4l.shp');
ChinaP=shaperead('F:\绘图\MATLAB绘图脚本\MATLAB绘制中国地图\MATLAB画中国地图\新建文件夹\chinamap\bou2_4p.shp');
river=shaperead('F:\绘图\MATLAB绘图脚本\MATLAB绘制中国地图\MATLAB画中国地图\新建文件夹\chinamap\hyd1_4l.shp'); %读取河流文件
bou2_4lx=[ChinaL(:).X];
bou2_4ly=[ChinaL(:).Y];
bou2_4px=[ChinaP(:).X];
bou2_4py=[ChinaP(:).Y];
river_x=[river(:,1).X];
river_y=[river(:,1).Y];
%% 导入WRF 数据
load('lat.mat');
load('lon.mat');
load('PM25.mat');
load('LANDMASK.mat');
load('LAKEMASK.mat');
m_proj('miller','lon',[100 131],'lat',[20 41]);
PM25_ORI=PM25;
[M1,M2]=size(LANDMASK);
for i=1:M1
for j=1:M2
if LANDMASK(i,j)<=0
PM25(i,j)=0;
end
end
end
PM25_LANDMASK=PM25 ;
[M1,M2]=size(LAKEMASK);
for i=1:M1
for j=1:M2
if LAKEMASK(i,j)<=0
PM25_ORI(i,j)=0;
end
end
end
PM25_LAKEMASK=PM25_ORI ;
PM25=PM25_LAKEMASK+PM25_LANDMASK;
PM25(PM25==0)=NaN;
% PM25 = imresize(PM25,[95*16,119*16],'nearest');
% lon = imresize(lon,[95*16,119*16],'nearest');
% lat = imresize(lat,[95*16,119*16],'nearest');
m_pcolor(lon,lat,PM25);
% shading flat;
shading interp
m_grid('linest','none');
hold on ;
m_plot(bou2_4lx,bou2_4ly,'k','LineWidth',0.5);
colormap(brewermap(256,'KH'));
% hold on ;
% m_proj('miller','lon',[92 131],'lat',[17 41]);
% m_coast('linewidth' ,0.5, 'color' , 'k' );;%('patch',[1 .85 .7])
hold on
axes('Position',[0.75,0.16,0.17,0.17]); % 生成子图
m_proj('miller','lon',[105 123],'lat',[0 19.5]);
m_pcolor(lon,lat,PM25);
shading flat;
m_plot(bou2_4lx,bou2_4ly,'k','LineWidth',0.5);
m_grid('linest','none','xticklabels',[],'yticklabels',[]);
|
-
|