Plot several lines on the same plot for the same unique category

2 ビュー (過去 30 日間)
Mohammad Aljarrah
Mohammad Aljarrah 2020 年 3 月 4 日
コメント済み: darova 2020 年 3 月 4 日
Hello,
i have a table which consists of the following data
Category Frequency Modulus
1 5 20
1 2 23
1 8 50
1 1 13
2 5 30
2 2 33
2 8 60
2 1 24
i want to plot Frequency vs. Modulus for each unique category (here i only showed 1 and 2 but i have more than that). also as you can see, my frequency data are not in sequence (they are shuffled 5,2,8,1,...). i want to produce a graph like the shown below (here, each line represents a different category). my frequqncy range is between 1 to 20.
i tried to produce a line for only one category, however what i got is shown in the other graph, i was not able to plot it in a sequential order.
  2 件のコメント
darova
darova 2020 年 3 月 4 日
Number of points in each category is the same?
Mohammad Aljarrah
Mohammad Aljarrah 2020 年 3 月 4 日
yes, for each category the number of frequnecies are the same (from 1-20Hz)

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

採用された回答

KSSV
KSSV 2020 年 3 月 4 日
編集済み: KSSV 2020 年 3 月 4 日
Let T be your data of size m*3.
C = T(:,1) ; % category
F = T(:,2) ; % Frequency
M = T(:,3) ; % Modulus
figure
hold on
for i = 1:length(unique(C))
Fi = F(C==i) ;
Mi = M(C==i) ;
[Fi,id] = sort(Fi) ;
Mi = Mi(id)
plot(Fi,Mi,'.-')
end
  4 件のコメント
Mohammad Aljarrah
Mohammad Aljarrah 2020 年 3 月 4 日
you are awesome, thank you very much
darova
darova 2020 年 3 月 4 日
try also
C = T(:,1) ; % category
F = T(:,2) ; % Frequency
M = T(:,3) ; % Modulus
N = 4; % number of points
FF = reshape(F,N,[]);
MM = reshape(M,N,[]);
plot(FF,MM)

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by