Matlab 泰勒图

使用的是已经完善的Matlab 泰勒图的脚本,下载地址
嵌套多个函数,根据具体的使用需要,对脚本进行解读和更改

1. 计算数据

首先是计算使用的数据
具体的使用的是 taylor_statistics.m
输入数据主要是可以是结构体也可以是矩阵序列
原始的脚本需要的数据数据中不能存在NaN等数据
实际观测数据中存在部分缺测或未通过质量控制的数据
因此要修改脚本如下:

  1. error_check_stats.m
    这里主要是将判断是数据是否为有限数据集的这部分直接注释掉。
  2. centered_rms_dev.m
pmean = nanmean(predicted); %修改成这样
rmean = nanmean(reference); %修改成这样
% Calculate (E')^2
crmsd = ((predicted - pmean) - (reference - rmean)).^2;
crmsd = sum(crmsd,'omitnan')/(length(predicted)-sum(isnan(predicted))); %修改成这样
crmsd = sqrt(crmsd);
  1. taylor_statistics.m
% 59行
ccoef = corrcoef(p,r,'rows','complete');  % modify-zg
% 67-70 行
sdevp = std(p,1,'omitnan'); % modify-zg

% Calculate standard deviation of reference field w.r.t N (sigma_r)
sdevr = std(r,1,'omitnan'); %modify-zg

2. 作图

改function的时候一定要记录,自己挖的坑
主要使用 taylor_diagram.m
其中包括:

  1. get_taylor_diagram_options --另外的
  2. get_taylor_diagram_axes
  3. get_taylor_diagram_arguments
    获取taylor_diagram函数的参数
  4. display_taylor_diagram_options
  5. dispopt
[hp, ht, axl] = taylor_diagram(dev,RMS,c, ... %dev 等可以是结构中的数据 strct.data 也可以是矩阵
    'markerLabel',label,... %标记名称
    'markerColor','r',...  %标记的颜色
    'markerLabelColor','k',... % 标记名字的颜色
    'markerSize',2,...   %标记的大小
    'tickRMS',(0:0.05:0.15),...  % RMS的取值范围
    'markerSymbol','+',... % 标记的形状
    'markerKey', 'ERA-5'); % legend
    %% 相关参数在get_taylor_diagram_options里面找
    % 如果是需要在一个坐标系中多次做图 将 overlap 设置为on

然后修改图的亿点点细节

补充
% theta = real(acos(CORs));
% rho=srds 
X = rho(2:end).*cos(theta(2:end)); 
Y = rho(2:end).*sin(theta(2:end));

这两个是每个点显示的坐标, 坐标仅由标准差和相关系数决定 !!!
所以会和计算出来的标准差等不完全一致
但是效果不会变!

plot_taylor_axes

这个可以设置坐标系(字体 title 这些)
相当于直接修改,比如说相关系数原始的是用英文的,如果想修改字体大小等没有option
所以就在这个脚本里面修改 37 41行可以修改标准差这些

        pos1 = 45;	DA = 15; %49(默认的哈,后面有如果开了stdtitle这些的修改处,道理一样)  这个主要是修改位置的,相关系数的宽 posl 是位置, da是总长
        lab = 'Correlation Coefficient'; % 可直接修改为自己需要的
        set(ttt(ic),'rotation',ith-90,'color',option.colCOR, ... %56行 这是修改字体大小位置的
                'horizontalalignment','center',...
                'verticalalignment','bottom', ...
                'fontsize',fontSize, ...
                'fontweight',axlabweight);
add_legend

可以设置legend

overlay_taylor_diagram_lines

这个可以设置相关系数刻度
46行
这个是在overlay里面的不确定没有overlay可不可以哦

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值