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

6 views (last 30 days)
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?

Accepted Answer

Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh on 6 Sep 2022
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.

More Answers (1)

Walter Roberson
Walter Roberson on 6 Sep 2022

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by