Limit values based on one column?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I'm trying to plot data inputted from Excel into a simple (x,y) scatter plot.
As an example, data in the Excel file was:
Location Distance (m) Time (seconds)
1 5 120
1 10 200
1 25 300
1 30 350
2 4 100
2 50 200
2 70 250
2 100 300
3 5 75
3 12 100
3 13 200
3 40 300
I've already successfully inputted the data into a matrix using:
B = xlsread('filename','sheetname');
I set each column as a variable:
L = B(:,1);
D = B(:,2);
T = B(:,3);
I'd like to plot (D,T) for each value of L. I know how to do this if I call each cell in L; for example:
for x = D(1:4)
for y = T(1:4)
scatter(x,y)
end
end
However, I'd like to set it up so that I can call for the location (ie, for L = 1) and create separate (x,y) plots of each L, as I have quite a bit of data and think this will be faster. Additionally, the L values correspond with a text value (I converted to numbers as the text appeared as NaN). If possible, I'd like to make the title of each graph correspond with the text Location value. Any suggestions for how to approach this are greatly appreciated.
Cheers
0 commentaires
Réponse acceptée
James Tursa
le 2 Oct 2017
Something like this?
u = unique(B(:,1));
for k=1:numel(u)
d = B(B(:,1)==u(k),:);
figure; scatter(d(:,2),d(:,3)); grid on;
title(sprintf('Location = %d',u(k)));
end
5 commentaires
James Tursa
le 2 Oct 2017
So, what is the relationship between the columns of your 53x18 matrix and your 12x3 example? How are we supposed to know what you are wanting to plot if your example does not match your actual data?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Discrete Data 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!