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 个评论

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

请先登录,再进行评论。

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(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.

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by