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

13 vues (au cours des 30 derniers jours)
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?

Réponse acceptée

Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh le 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.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 6 Sep 2022

Catégories

En savoir plus sur Numeric Types dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by