How to bin for scatter plot from two data series?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
trailokya
le 15 Sep 2015
Commenté : Star Strider
le 16 Sep 2015
Sir i have two data series say
a b
25.36737061 -27.47956892
20.54391479 -23.68162398
16.76391602 -16.65254461
9.47177124 -19.20600915
16.25158691 -18.56570783
4.462646484 -14.39363913
7.785919189 -14.98048449
12.27481079 -18.49125231
4.851806641 -19.91135093
2.111236572 -5.049334665
-1.457702637 -6.51219601
1.85055542 -1.299793246
and i want to plot for a=0-5,6-10,11-15,16-20 with the corresponding average and standard deviation of b. Please help me with a easy way since the series are very large?
0 commentaires
Réponse acceptée
Star Strider
le 15 Sep 2015
Modifié(e) : Walter Roberson
le 15 Sep 2015
This seems to work:
m = [25.36737061 -27.47956892
20.54391479 -23.68162398
16.76391602 -16.65254461
9.47177124 -19.20600915
16.25158691 -18.56570783
4.462646484 -14.39363913
7.785919189 -14.98048449
12.27481079 -18.49125231
4.851806641 -19.91135093
2.111236572 -5.049334665
-1.457702637 -6.51219601
1.85055542 -1.299793246];
binedge = 0:5:20; % Define Bin Edges
[acount, idx] = histc(m(:,1), binedge); % Bin ‘a’, Return Index Vector
meanb = accumarray(idx+1, m(idx+1,2), [], @mean); % Get Mean Of Corresponding ‘b’
figure(1)
bar(binedge, acount, 'histc')
grid
One of the bin edge values is zero, and that doesn’t work as an index for accumarray, so I added 1 to the index values. That doesn’t affect the calculation.
4 commentaires
Star Strider
le 16 Sep 2015
I didn’t specifically test the code for the standard deviation, but it should work as you wrote it, providing there are no NaN values in your data.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!