2014-05-17 5 views
0

두 개의 배열을 매우 가까이있는 데이터로 플롯해야합니다. 그래픽 성능을 향상시키는 방법 라인 플롯을 줄이고 싶습니다.matlab에 그래프로 그래프를 개선하려면 어떻게해야합니까?

코멘트에서

https://dl.dropboxusercontent.com/u/41574157/my_plot.png

+0

사진을 업로드하고 여기 링크를 연결 하시겠습니까? – Divakar

+0

공개 공유 웹 사이트에 이미지를 올리면 내 게시물이 수정됩니다. 또한, "줄거리 줄이기"란 무엇을 의미합니까? – rayryeng

+0

링크를 추가했습니다. 나는 덜 상세한 차트를 의미합니다 ... – Mixo

답변

1

enter image description here, 당신이 중 하나는 부드럽게, 보간의 일종을하고 싶은, 또는 포인트의 서브 샘플링. 의 모든 방법을 살펴 보자 :

방법 1 - 서브 샘플링

이 할 매우 쉽습니다. 두 데이터 포인트가 모두 xy에 저장되어 있다고 가정하면 데이터에서 샘플링 할 빈도를 지정할 수 있습니다.

xsample = x(1:10:end); 
ysample = y(1:10:end); 
plot(xsample, ysample); 

plot

선형 이미 당신을 위해 각각의 포인트 사이에서 보간됩니다 : 당신은 예를 들어 매 10 점을 샘플링하고 싶었다면, 당신은 뭔가를 할 수 있습니다. 이것이 기본 동작 인 plot입니다.

방법 2 - 보간 (하지 선) 위에서처럼 당신은 "키포인트"사이에서 보간 interp1를 사용 후, 당신의 포인트를 표본 수

. 당신이 보간을 수행하기를 원한다고 가정 해 봅시다 : spline 보간. 예를 들면 :

yinterp = interp1(xsample, ysample, x, 'spline'); 
plot(x, ysample); 

방법 3 - 당신이 곡선 피팅 도구 상자가있는 경우

을 부드럽게, 당신은 smooth 기능을 사용할 수 있습니다. smooth 함수의 기본 동작은 이동 평균입니다. 그것은 기본적으로 한정된 크기의 윈도우 내에서 여러분의 포인트를 취합니다. 평균값은 하나의 샘플입니다. 평균화는 데이터의 매끄러운 버전 인 출력을 제공합니다. 기본 창의 너비는 5이지만 원하는 간격을 지정할 수 있습니다.

ysmooth = smooth(y); %// or you can do ysmooth = smooth(y, N); 
        %// where N is the size of your smoothing window 
plot(x, ysmooth); 

는 NB :N홀수 번호 (1, 3, 5, 등)에 대한 작동이 방법의

희망 하나 여야합니다!

+0

미안하지만, 나는 투표하기에 충분한 명성이 없다. 나는 새로운 사용자이다. – Mixo