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

7 views (last 30 days)
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?

Accepted Answer

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

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 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]

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!