MATLAB Answers

Plot in matlab, multiple plots in one figure.

조회 수: 8(최근 30일)
Ibrahim
Ibrahim 15 Jan 2015
댓글: Image Analyst 15 Jan 2015
Hello! I need some help with the following:
Imagine a matrix: N x 3. (an example:
if true
% code
end
___x___ |___y___|__Z__|
1 | 2 | 1 |
2 | 3 | 2 |
3 | 2 | 3 |
4 | 2 | 4 |
2 | 3 | 1 |
7 | 4 | 2 |
8 | 2 | 3 |
8 | 2 | 4 |
3 | 4 | 1 |
And the matrix is defined by a data list.
THE QUESTION: we want to plot the (x,y) values, for each Z value in the same coordinate system. Also we need to make it possible to see a difference between them.
I figured out the how to change the color, marking etc.
But i DO NOT know how to plot for Z = 1, Z = 2. ?
if true
% code
end
I tried something like:
for DATA(:,3)==1 %(the datalist called DATA)
plot(x,y,'ro')
hold on
for DATA(:,3)==2; plot(x,y,'dk') hold on etc.
but it doesn't Work! I have checked my matlab book, Google, etc. with no results! I will appreciate your help! thanks!
ib

  댓글 수: 1

Image Analyst
Image Analyst 15 Jan 2015
Are the Z all definitely integers, or can they have fractional values (in which case you'll need to bin them with hist())? And what is the "data list"? Is that what you somehow used to create the matrix of x,y,z values? Does it matter what it is, or can we just take the x,y,z matrix as a given (a starting point)?

Sign in to comment.

채택된 답변

Iain
Iain 15 Jan 2015
x_for_z1 = matrix(matrix(:,3)==1,1);
y_for_z1 = matrix(matrix(:,3)==1,2);
plot(x_for_z1,y_for_z1,'r') hold on etc etc..

  댓글 수: 2

Ibrahim
Ibrahim 15 Jan 2015
Thanks!!!
It is B-E-A-U-T-I-F-U-L! :-D
Image Analyst
Image Analyst 15 Jan 2015
Note: this will not work if Z has fractional values like 2.0001 and 3.9999. See the FAQ. It will work for integers though. However you may want to do it for all Z in which case you'll want to call unique() and put lain's code into a for loop.

Sign in to comment.

추가 답변(0개)


Translated by