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

9 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 7 Jul. 2015
Bearbeitet: Andrei Bobrov am 7 Jul. 2015
[a1,~,c1] = unique(time_duration);
A1 = accumarray(c1(:),Altitude(:));
bar(a1(:),A1(:));

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 7 Jul. 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]

Kategorien

Mehr zu Dates and Time 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!

Translated by