Cut a graph ?

5 visualizzazioni (ultimi 30 giorni)
dsq dq
dsq dq il 10 Set 2021
Commentato: dsq dq il 10 Set 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 Commenti
Mathieu NOE
Mathieu NOE il 10 Set 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 il 10 Set 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 !

Accedi per commentare.

Risposta accettata

Steven Lord
Steven Lord il 10 Set 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 Commento
dsq dq
dsq dq il 10 Set 2021
Oh ok I see. Thanks I did not tihk to that !

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Line Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by