Is there a way to disconnect lines between data points while utilizing the plot function?

Let's say I have the following lines of code;
x = [1;2;3;4;5;6;7;8;6];
y = [10;20;30;40;50;60;70;80;30];
plot(x,y,'-o');
When executed, I get a simple 2D line plot where all 9 of the Y values are plotted and connected by a solid line.
Is there a way to disconnect the line between the 8th and 9th data point while maintaining it for the first 8?

1 comentario

plot([30 30.1 30.1 30.2 30.2 30.3 30.3 30.4 30.4 30.5 30.5 30.6 30.6 30.7], [-7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7.5 -7.5 -8 -8], 'k','LineStyle','--', 'linewidth',3, 'HandleVisibility','off')
i am using this methos but I would like to erase the drop lines. ideas how to do that

Iniciar sesión para comentar.

 Respuesta aceptada

sixwwwwww
sixwwwwww el 22 de Oct. de 2013
Editada: sixwwwwww el 22 de Oct. de 2013
Dear Brad, you can do it the following way:
x = [1;2;3;4;5;6;7;8;9];
y = [10;20;30;40;50;60;70;80;90];
plot(x(1:end - 1),y(1:end - 1),'-o'); hold on
plot(x(end), y(end), 'o')
xlim([x(1) x(end)+x(1)]), ylim([y(1) y(end)+y(1)])
I hope it helps. Good luck!

2 comentarios

Good call. I forgot all about using hold on!!
God bless you however you are, i really had a good fight troubling with ploting points and after a lot of search none of those helped me, but this one saved me

Iniciar sesión para comentar.

Más respuestas (1)

Another way is to insert a NaN between the dis-connected points, such as:
x = [1;2;3;4;5;6;7;8;6];
y = [10;20;30;40;50;60;70;80;30];
x = [ x(1:8), NaN, x(9:end)];
y = [ y(1:8), NaN, y(9:end)];
plot(x,y,'-o');
Matlab won't plot a NaN, so the effect is to break up your lines.

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 22 de Oct. de 2013

Comentada:

el 17 de Ag. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by