Plot several lines on the same plot for the same unique category
1 次查看(过去 30 天)
显示 更早的评论
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/275036/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/275037/image.png)
2 个评论
采纳的回答
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 个评论
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!