MAKING A SCATTER PLOT BASED ON INDEX VALUES

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.

 Risposta accettata

KSSV
KSSV il 23 Feb 2021
Modificato: KSSV il 23 Feb 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 Commenti

hi thanks for your suggestion.
unforntunately it does not execute what i want from it.
column 1 refers to foot steps. it still plots all 6 foot steps.
i need it to plot the 6 individually in seperate subplots :)
[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 il 23 Feb 2021
Modificato: diala yazbeck il 23 Feb 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

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by