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일

0 개 추천

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일

0 개 추천

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.

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

카테고리

도움말 센터File Exchange에서 Annotations에 대해 자세히 알아보기

태그

질문:

2011년 11월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by