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

5 ビュー (過去 30 日間)
yashvin
yashvin 2015 年 7 月 7 日
コメント済み: yashvin 2015 年 7 月 9 日
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?

採用された回答

Andrei Bobrov
Andrei Bobrov 2015 年 7 月 7 日
編集済み: Andrei Bobrov 2015 年 7 月 7 日
[a1,~,c1] = unique(time_duration);
A1 = accumarray(c1(:),Altitude(:));
bar(a1(:),A1(:));
  1 件のコメント
yashvin
yashvin 2015 年 7 月 9 日
@Andrei
Anyway I can achieve this without using in-built function?
Thanks

サインインしてコメントする。

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 7 月 7 日
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 件のコメント
yashvin
yashvin 2015 年 7 月 9 日
@ Azzi
Anyway I can achieve this without using in-built function?
Thanks

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeBar Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by