How to plot a chart(e.g bar chart) given a dublicate x values?

4 vues (au cours des 30 derniers jours)
yashvin
yashvin le 7 Juil 2015
Commenté : yashvin le 9 Juil 2015
Hi I have 2 arrays
time_duration=[2 4 3 6 7 3 7]
Altitude=[20 30 40 50 60 60 50]
Sometimes, for the same time duration, I have 2 Altitude values. For example for time_duration= 3, I have Altitude = 40 ad 60. I want to plot it so that on the xaxis time_duration=3, I can have altitude 100 ie (40+60) on the yaxis.
I tried with barchart but it is not allowing it as of duplicate values.
bar(time_duration,Altitude)
XData cannot contain duplicate values.
Any suggestions?

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 7 Juil 2015
Modifié(e) : Andrei Bobrov le 7 Juil 2015
[a1,~,c1] = unique(time_duration);
A1 = accumarray(c1(:),Altitude(:));
bar(a1(:),A1(:));
  1 commentaire
yashvin
yashvin le 9 Juil 2015
@Andrei
Anyway I can achieve this without using in-built function?
Thanks

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 7 Juil 2015
time_duration=[2 4 3 6 7 3 7]
Altitude=[20 30 40 50 60 60 50]
[unique_time_duration,jj,kk]=unique(time_duration)
new_Altitude=accumarray(kk,Altitude)
out=[unique_time_duration' new_Altitude]
  1 commentaire
yashvin
yashvin le 9 Juil 2015
@ Azzi
Anyway I can achieve this without using in-built function?
Thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polar 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!

Translated by