Limit values based on one column?
조회 수: 3 (최근 30일)
이전 댓글 표시
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
채택된 답변
James Tursa
2017년 10월 2일
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
James Tursa
2017년 10월 2일
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?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!