爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4893|回复: 2

[讨论] m_pcolor绘图边缘出现锯齿状

[复制链接]

新浪微博达人勋

发表于 2019-9-5 15:19:47 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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',[]);




问题.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-9-5 15:24:57 | 显示全部楼层
我看主要原因是因为lat lon 不是规则分布导致的,有没有什么办法处理呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-20 21:02:38 | 显示全部楼层
您好,可以看下你的实例数据结构么,也在做类似的区域分布图形。十分感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表