MATLAB Answers

Plotting n-by-m matrix

12 views (last 30 days)
Matthias
Matthias on 18 Jan 2019
Edited: madhan ravi on 18 Jan 2019
Hello,
a simple question: I've n-by-m matrices for X and Y. When I plot them, I get m differently colored lines connecting n points.
Example:
plot([1,1.1;2,2.1;3,3.1],[3,3.5;4,4.5;6,5],'-o')
With n=3 and m=2,
In the degenreated case with n=1, I expect and need to get m differently colored points. Instead the m points are connected to a single line.
Compare:
plot([1,1.1],[3,3.5],'-o')
How can I prevent this in this degenerated case?
Best regards
  4 Comments
madhan ravi
madhan ravi on 18 Jan 2019
@Stephen Cobeldick: Thank you very much :) now everything is clear as a crystal (really so happy about it), to be frank and honest in the short time I was able to improve the skills is because of you. I like the way you interpret with solutions deeply and it really tells how much of an experienced man you are , keep inspiring!

Sign in to comment.

Accepted Answer

Stephen
Stephen on 18 Jan 2019
Edited: Stephen on 18 Jan 2019
Good question. I also faced this issue a few years ago, and I found the simplest solution was to append NaN onto the bottom of the matrices, e.g.:
X(end+1,:) = NaN;
Y(end+1,:) = NaN;
plot(X,Y,'-o')
This forces MATLAB to treat each column as its own "line", even if it contains only one data point, while the NaNs are of course not plotted (so you do not need a special case, the NaNs can be appended to matrices of any size). Here is an example with your data:
>> X = [1,1.1];
>> Y = [3,3.5];
>> X(end+1,:) = NaN;
>> Y(end+1,:) = NaN;
>> plot(X,Y,'-o')
  1 Comment
Matthias
Matthias on 18 Jan 2019
Thank you Stephen!
This trick works!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!