why won't this plot?

8 views (last 30 days)
Don
Don on 4 Oct 2016
Commented: Don on 4 Oct 2016
for i = 1:length(xaxis); if xaxis(i) >0; plot(xaxis(i),yaxis(i)); end
end;
xaxis and yaxis have numbers. I always get a blank plot space

Accepted Answer

Steven Lord
Steven Lord on 4 Oct 2016
% Sample data
xaxis = -2*pi:0.1:2*pi;
yaxis = sin(xaxis);
% Determine the points with positive x coordinates and plot them
positiveXAxisMask = xaxis > 0;
plot(xaxis(positiveXAxisMask ), yaxis(positiveXAxisMask ), 'x')
% Let's plot the negative x coordinates as well for illustration
hold on
plot(xaxis(~positiveXAxisMask ), yaxis(~positiveXAxisMask ), 'o')
  1 Comment
Don
Don on 4 Oct 2016
yay! this one worked. I accepted the earlier answers too quickly

Sign in to comment.

More Answers (3)

Massimo Zanetti
Massimo Zanetti on 4 Oct 2016
Yes, because you are plotting just on point. Better try this:
plot(xaxis,yaxis)

Gareth Thomas
Gareth Thomas on 4 Oct 2016
Edited: Gareth Thomas on 4 Oct 2016
You need to add the hold on command. Try this:
for i = 1:length(xaxis); hold on;if xaxis(i) >0; plot(xaxis(i),yaxis(i),'x'); end; end;
Notice the 'x' which helps you see it.

Gareth Thomas
Gareth Thomas on 4 Oct 2016
for i = 1:length(xaxis); hold on ;if xaxis(i) >0; plot(xaxis(i),yaxis(i),'x'); end; end;

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!