How to plot Taylor diagram for four time series.
39 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Turlough Hughes
am 2 Jan. 2022
There doesn't appear to be any function for making a taylor diagram in MATLAB. I suggest trying on of these FEX submissions.
Antworten (1)
Meg Noah
am 2 Jan. 2022
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 Kommentare
Ahmad Bayhaqi
am 28 Mär. 2023
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
am 15 Nov. 2023
RMSs(3) - sqrt(STDs(3).^2 + STDs(1)^2 - 2*STDs(3)*STDs(1).*CORs(3)) = 0 Why judge this
Siehe auch
Kategorien
Mehr zu Detection, Range and Doppler Estimation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!