Cut a graph ?

7 views (last 30 days)
dsq dq
dsq dq on 10 Sep 2021
Commented: dsq dq on 10 Sep 2021
Hi everyone !
I hope my problem will be quite clear. I am trying to plot somethings like this (Photo linked to this topic) and I wrote this :
$figure(1)
p2 = plot(0,0,'red');
bolleen = 1;
for i = 1:10
switch bolleen
case 1
bolleen = 0;
B = 1;
case 0
bolleen = 2;
B = 2;
case 2
bolleen = 1;
B = 0;
end
if B ~= 0
p2.XData(i) = i;
p2.YData(i) = B;
hold on;
end
end
I thought that for the values of i when "bolleen" is equal to 0, it won't plot it, and I would have a "cut graphic". But it seems like it takes the value (0,0) and my graphic is a mess. Thanks for your help !
  2 Comments
Mathieu NOE
Mathieu NOE on 10 Sep 2021
hello
why such a complicated code ?
if you need to plot two lines you can simply do this
plot([1 2],[1 2],'b',[4 5],[1 2],'r');
axis([0 6 0 3]);
dsq dq
dsq dq on 10 Sep 2021
Hello,
thanks for your answer. I forgot to precise that I don't know the lenght of my vectors, and I would like to plot, only one vectors !

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 10 Sep 2021
If the data to be plotted includes NaN, that point will not be plotted.
x = 1:5;
y = [1 2 NaN 1 2];
plot(x, y)
axis([0 6 0 3]) % Show some border around the plot
  1 Comment
dsq dq
dsq dq on 10 Sep 2021
Oh ok I see. Thanks I did not tihk to that !

Sign in to comment.

More Answers (0)

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!