# How do I connect points in a scatter plot with a line?

조회 수: 3,125(최근 30일)
Matt 15 Jul 2014
Hi
I plot a scatter for multiple points and i want to connect them using line. Below is my code. The plot i get is only scatter, I cant connect them through a line. Any help appreciated!
x=[1,2,3,4,5,6,7,8,9];
y=[1,2,3,4,5,6,7,8,9];
hold all
for i=1:8
scatter(x(i),y(i),'X')
line(x(i),y(i))
end
Thanks
Matt

로그인 to comment.

### 채택된 답변

Ben11 15 Jul 2014
편집: MathWorks Support Team 27 Nov 2018
If you want to plot both markers and a line, you can use the plot function and specify a line style that includes marker symbols and a line style, such as '-x'. For example, this code plots a line with crosses at the data points.
plot(x,y,'-x')
If you are trying to plot only the first eight points, then use this code instead:
plot(x(1:8),y(1:8),'-x')
If you are plotting from a cell array, then use this code instead:
plot(cell2mat(x(1:8)),cell2mat(y(1:8)),'-x')

#### 댓글 수: 2

Matt 15 Jul 2014
Thanks! It works :)
Ben11 15 Jul 2014

로그인 to comment.

### 추가 답변(2개)

Brian B 15 Jul 2014
편집: Brian B 15 Jul 2014
Don't use a for loop:
x=[1,2,3,4,5,6,7,8,9];
y=[1,2,3,4,5,6,7,8,9];
hold on
scatter(x,y,'X')
line(x,y)
or just
plot(x,y,'-o')

#### 댓글 수: 1

John D'Errico 15 Jul 2014
Both of you have missed that for some reason, he wants to plot the first 8 elements.

로그인 to comment.

John D'Errico 15 Jul 2014
You asked this question before! In fact, you asked exactly that question, but for some reason nobody managed to give a good answer.
plot(x(1:8),y(1:8),'b-x')
There is NO need for a loop. The above single line will plot x marks at each point, and connect them with a line, all in blue.
If you prefer to plot the line in blue, and the x marks in red, this will do it:
plot(x(1:8),y(1:8),'b-',x(1:8),y(1:8),'rx')

#### 댓글 수: 3

Matt 15 Jul 2014
Thank you John! For ur undersnatding!
I try to ask my question here with simple way. The actual problem I have here is a bit complex. I am ploting data from Cell. That means:-
hold all
for i=1:8
scatter(x{1,i},y{1,i},'X')
line(x{1,i},y{1,i})
end