How do I create a 2-D plot with a matrix that contains data points and a matrix that contains class labels?

14 次查看(过去 30 天)
I would like to create a 2-d plot where the data points come from one matrix called features (8000x2). Column 1 contains the x values and column 2 contains the y values. I have worked out something that works here:
load data.mat
f = features;
c = classlabels;
plot(f(:,1),f(:,2),'x')
xlabel('Feature 1')
ylabel('Feature 2')
Now I also have a matrix called classlabels (8000x1). Each row contains a value 1 or 2 which idicate the class. Row one of classlabels corresponds to data point one, row two corresponds to data point two and so on. How can I incorporate the classlabels matrix such that I can change the shape/color of the data points obtained from the features matrix to make the classes 1 and 2 identifiable when plotted?

采纳的回答

Abolfazl Chaman Motlagh
one simple way is to plot (scatter) every class separately.
f = rand(150,2);
C = randi(2,150,1);
scatter(f(C==1,1),f(C==1,2),'r','o');hold on;
scatter(f(C==2,1),f(C==2,2),'b','+');
legend('Class 1','Class 2');
if class are string or categorical or ... use correct logical equality in argument of f instead.

更多回答(1 个)

Walter Roberson
Walter Roberson 2022-9-6

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by