Skip certain values in plot and connect adjacent points

16 visualizaciones (últimos 30 días)
Daniyar Saparov
Daniyar Saparov el 27 de Ag. de 2019
Editada: Adam Danz el 27 de Ag. de 2019
Hello,
I am trying to plot some data with a regular "plot" function, but I want to skip some certain values and connect the adjacent points of that skipped value. For example, I want to plot something like this:
x = 0:pi/10:2*pi;
y = sin(x);
plot(y)
and skip for examples values of x at points pi/2 or 3*pi/2, but connect the points around this skipped values. I tried:
x = 0:pi/10:2*pi;
y = sin(x);
plot(y(x~=pi/2))
but, it is not doing what I exactly want to do. I want the spacing of x values remain the same, except the skipped point, where the connected adjacent points obviously will have more separation than other pair of points. How can I do this kind of plot? Many thanks in advance.

Respuesta aceptada

Adam Danz
Adam Danz el 27 de Ag. de 2019
How to skip x values.
x = 0:pi/10:2*pi;
skipPoints = [pi/2, 3*pi/2]; % list points to skip
x(ismember(x,skipPoints)) = []; % remove skip-points
% now compute Y with only the desired points
y = sin(x);
plot(x,y)
If you'd rather not connect the points adjacent to the skipped values, you can replace the skipped values with NaN
x = 0:pi/10:2*pi;
skipPoints = [pi/2, 3*pi/2]; % list points to skip
x(ismember(x,skipPoints)) = NaN; % Replace with nan
% now compute Y with only the desired points
y = sin(x);
plot(x,y)
  2 comentarios
Daniyar Saparov
Daniyar Saparov el 27 de Ag. de 2019
Hello Adam,
Many Thanks! The first one worked perfectly for me. Actually, I came up with another solution, assigning an average value of adjacent points to the skipped value, such as:
y(x==pi/2) = (y(x==pi/2-pi/10)+y(x==pi/2+pi/10))/2;
But your method is way better and saves a lot of space and time. Many thanks!
Adam Danz
Adam Danz el 27 de Ag. de 2019
Editada: Adam Danz el 27 de Ag. de 2019
Glad I could help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Annotations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by