MAKING A SCATTER PLOT BASED ON INDEX VALUES

44 vues (au cours des 30 derniers jours)
diala yazbeck
diala yazbeck le 23 Fév 2021
Modifié(e) : diala yazbeck le 23 Fév 2021
hello!
so i have a table with 5 columns.
column 1 has values 1-12 (but this can vary depending on the data set), column 2 is time, column 3 is either 1 or 0 (right/left), and column 4 and 5 are x and y co-ordinates respectively.
i need to plot the values in column 4 and 5 based on the index value in column 1.
so if the index value is 88 for 1, i want to plot column 4 and 5 from 1 -88.
if the next index is 98 for 2 , i want to 4 and 5 from 88 - 186
etc
i would also like to set up subplots based on the unique numbers in column 1 (i.e 1-12)
i have no code. i have absolutely no idea how to implement this.
this only script i have is determining the index.

Réponse acceptée

KSSV
KSSV le 23 Fév 2021
Modifié(e) : KSSV le 23 Fév 2021
[C,ia,ib] = unique(column1) ; % column1 is your column
idx = zeros(size(column1)) ; % make indices to save each class
for i = 1:length(C)
idx(ib==i) = i ;
end
gscatter(x,y,idx) % use gscatter (x,y) are your values to be plotted
  3 commentaires
KSSV
KSSV le 23 Fév 2021
[C,ia,ib] = unique(column1) ; % column1 is your column
for i = 1:length(C)
figure(i)
plot(x(ib==i),y(ib==i)) ;
end
diala yazbeck
diala yazbeck le 23 Fév 2021
Modifié(e) : diala yazbeck le 23 Fév 2021
THANK YOU SO MUCH ! THATS EXACTLY WHAT I WANTED!!!
also,
is there a way to change the colour of the figures based on whether column 3 is a 0 or a 1?
for i = 1:length(C)
figure(i)
gscatter(x(ib==i),y(ib==i), g(ib==i));
title(sprintf('COP %d',i))
end
this is my script so far

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by