Line plotting
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
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
댓글 수: 0
채택된 답변
  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
댓글 수: 0
추가 답변 (1개)
  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
  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 Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


