【pcolor数据可视化】Matlab vs. Python

文章展示了使用Matlab和Python代码分别处理和可视化2019-2023年间不同能见度条件下的地理数据,通过数据映射和分位数方法,生成了年度和季节性平均能见度频次地图,同时包含了中国的地理轮廓和小地图.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Matlab代码及结果

  • 代码
clear;clc
load('.\nclcolormap.mat')

sl = [0,50,100,200,500,0];
el = [50,100,200,500,1000,200];

for i = 1:length(sl)
    
    file = ['..\data\static_result\VIS_Min-',num2str(sl(i)),'to',num2str(el(i)),'_yearly.npy'];
    data = readNPY(file);
    mask=readNPY('.\mask.npy');
    data =data.*mask;
    siz = 30;
    
    lat = 15:0.05:55;
    lon = 70:0.05:140.05;
    [X,Y] = meshgrid(lon,lat);
    
    set(gcf,'color',[1 1 1],'position',[10 45 1000 800*1.2]);%get(0,'screensize')
    axes('position',[0.1 0.2 0.85 0.6]);
    
    % 数据映射: 数据分布差异较大,使用分位数将数据进行映射
    datax = data(:);
    datax(isnan(datax))=[];
    percentiles = prctile(datax(:), [0,50,80,90:2:98 99.9]);
    percentiles = unique(percentiles);
    x_ = linspace(percentiles(end-1), percentiles(end), 4);
    percentiles = [percentiles(1:end-2), x_];
    percentiles = unique(percentiles);
    xx1=percentiles(1:end-1);
    xx2=percentiles(2:end);
    CC1=0;CC2=length(xx1);
    data_map=data;
    for ii=1:length(xx1)
        data_map(data>=xx1(ii)&data<xx2(ii))=ii-0.5;
    end
    
    % 画图
    mypcolor(X,Y,data_map);shading interp
    hcb=colorbar;
    map = nclcolormap.WhBlGrYeRe;
    map_ = map(round(linspace(1, length(map), CC2)),:);
    colormap(map_)
    box on;hold on
    caxis([CC1 CC2]);
    set(hcb,'xtick',[CC1:CC2],'xticklabel',num2str(percentiles','%.1f')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值