How to plot Taylor diagram for four time series.
37 次查看(过去 30 天)
显示 更早的评论
A =readtable
('Sample data.xlsx')
I have the above five different datasets, i want matlab code to execute Taylor diagram for the dataset taking correlation between insitu and each of the other four model data in the sample data. Kindly help. Thanks.
1 个评论
Turlough Hughes
2022-1-2
There doesn't appear to be any function for making a taylor diagram in MATLAB. I suggest trying on of these FEX submissions.
回答(1 个)
Meg Noah
2022-1-2
Here's how:
Download this:
And the attached allstats.m was from https://github.com/gmaze/gmaze_legacy/blob/master/matlab/codes/statistics/allstats.m
Then use this code:
myData = readtable('Sample data.xlsx');
% STATM(1,:) => Mean
% STATM(2,:) => Standard Deviation (scaled by N)
% STATM(3,:) => Centered Root Mean Square Difference (scaled by N)
% STATM(4,:) => Correlation
stat1 = allstats(myData.insitu,myData.era5);
stat2 = allstats(myData.insitu,myData.ncar_ncep);
stat3 = allstats(myData.insitu,myData.merra2);
stat4 = allstats(myData.insitu,myData.ceres);
STDs = horzcat(stat1(2,:),stat2(2,2),stat3(2,2),stat4(2,2));
RMSs = horzcat(stat1(3,:),stat2(3,2),stat3(3,2),stat4(3,2));
CORs = horzcat(stat1(4,:),stat2(4,2),stat3(4,2),stat4(4,2));
[pp tt axl] = taylordiag(STDs,RMSs,CORs);
for ii = 1 : length(tt)
set(tt(ii),'fontsize',9,'fontweight','bold')
set(pp(ii),'markersize',12)
set(tt(ii),'String',strrep(myData.Properties.VariableNames{ii+1},'_',' '));
end
5 个评论
Ahmad Bayhaqi
2023-3-28
Hi @Meg Noah , how about the ticklabels of STD, Cor Coef and RMSD? do you know how to change their fontsize and fontweight?
Thank you
wentong
2023-11-15
RMSs(3) - sqrt(STDs(3).^2 + STDs(1)^2 - 2*STDs(3)*STDs(1).*CORs(3)) = 0 Why judge this
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Detection, Range and Doppler Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!