Plot several lines on the same plot for the same unique category
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammad Aljarrah
am 4 Mär. 2020
Kommentiert: darova
am 4 Mär. 2020
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 Kommentare
Akzeptierte Antwort
KSSV
am 4 Mär. 2020
Bearbeitet: KSSV
am 4 Mär. 2020
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 Kommentare
darova
am 4 Mär. 2020
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)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Polar Plots 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!