MATLAB Answers

0

Unusual arrangement of plot

Asked by Zeynab Mousavikhamene on 7 Oct 2019
Latest activity Answered by Bjorn Gustavsson on 7 Oct 2019
Red line is plotted by matlab but it is unusal and expected to be blue line.
Any idea why this happens?
plot(celltracker_group_prolif.radius(celltracker_group_prolif.time==22),celltracker_group_prolif.perhex(celltracker_group_prolif.time==22),'-rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',5)

  0 Comments

Sign in to comment.

2 Answers

Jon
Answer by Jon
on 7 Oct 2019
Edited by Jon
on 7 Oct 2019
 Accepted Answer

I assume when you say "Red line is plotted by matlab but it is unusal and expected to be blue line" you mean that you expect the red line to be close to the blue line.
It looks like your data is probably not sorted in order of increasing x value.
You can use the sort command to sort your data. So if your values were in a vector y, and your x values were in a vector x you could sort them according to their x values using
[xsort,isrt] = sort(x)
ysort = y(isrt)

  0 Comments

Sign in to comment.


Answer by Bjorn Gustavsson on 7 Oct 2019

Seems like you want the plot done with the radii sorted? (plot plots what you feed it, if you have the x-variable unsorted the plot will be with the x-array as given...). Maybe something like:
x4p = celltracker_group_prolif.radius(celltracker_group_prolif.time==22);
y4p = celltracker_group_prolif.perhex(celltracker_group_prolif.time==22);
% Check the order of x4p!
[~,is] = sort(x4p);
plot(x4p(is),y4p(is),'-rs','linewidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',5)
HTH

  0 Comments

Sign in to comment.