Line plotting

조회 수: 3 (최근 30일)
Andy
Andy 2011년 11월 3일
for yy = 1:length(overlap_peaks2)
x=overlap_peaks2(yy);
y=1:200000:1000000;
hold on;
plot(overlap_peaks2(yy),y, '-r')
end
length(overlap_peaks2) is just equal to 1
my question is why is it when i plot it, it shows up as seperate dots, how do i make it connect into a line? i am just tryign to plot x=589

채택된 답변

Walter Roberson
Walter Roberson 2011년 11월 3일
for yy = 1:length(overlap_peaks2)
x=overlap_peaks2(yy);
y=1:200000:1000000;
hold on;
plot(repmat(x,1,length(y)),y, '-r')
end
By the way, you should also consider
for yy = 1:length(overlap_peaks2)
x=overlap_peaks2(yy);
hold on;
plot([x x],[1 1000000], '-r')
end

추가 답변 (1개)

Fangjun Jiang
Fangjun Jiang 2011년 11월 3일
If "length(overlap_peaks2) is just equal to 1", then in your code, yy will be 1 and the loop runs once. What is the length of overlap_peaks2(yy)? If it's a scalar, you are just going to get 5 dots.
Check your code again.
  댓글 수: 2
Andy
Andy 2011년 11월 3일
in this case overlap_peaks2 is just size of 1, but in some other cases it will be longer. How do i connect those dots with a line?
Fangjun Jiang
Fangjun Jiang 2011년 11월 3일
Usually x and y are two vectors with the same size in plot(x,y), such as plot(1:10,sin(1:10)). plot(1,1:10,'-r') or plot(1:10,1,'-r') still generates a plot but only shows 10 points. Even if you can use plot(repmat(1,1,10),1:10,'-r') to make it draw the line, I am not sure what the line means to you.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Data Exploration에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by