Is there a way to disconnect lines between data points while utilizing the plot function?
34 views (last 30 days)
Show older comments
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 Comment
Ihaveaquest
on 17 Aug 2022
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
Accepted Answer
sixwwwwww
on 22 Oct 2013
Edited: sixwwwwww
on 22 Oct 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 Comments
Karla Fabiola Ramirez Martinez
on 22 Feb 2020
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
More Answers (1)
Matt Kindig
on 22 Oct 2013
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.
0 Comments
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!