2012-02-21 3 views
2

aliasing issue?의 gnuplot : 나는 GNUPLOT 제대로 내 데이터의 일부를 렌더링하는 데 점점 어려움을 겪고있어 데이터

의 완벽한 픽셀 표현 할 음모를 꾸미고 영역을 설정하는 방법에 대해 설명합니다. 기본적으로 몇 가지 2D 하이트 맵 데이터 (예 : 512 x 128 데이터 포인트)를 사용하고이를 "픽셀 완벽한"방식 (즉 데이터 포인트 당 하나의 픽셀)으로 플롯 할 수 있기를 원합니다. 불행하게도 현재, 데이터 포인트 수보다 약간 큰 픽셀 수로 인위적인 결과가 나옵니다 (삽입 그림 참조).

set terminal png size 800,400 

을하지만 픽셀 바로 플롯 영역의 크기를 설정하는 방법이 : 내가 사용하여 출력의 전체 크기를 설정할 수 있습니다 알아?

감사합니다.

+0

가능한 경우 벡터 그래픽을 사용하는 것이 좋습니다 (예 : eps 터미널). 이렇게하면이 문제를 피할 수 있습니다. –

답변

1

lua/TikZ 터미널 (plotsize 옵션 있음)의 도움을 받아 플롯이 전체 캔버스를 채우도록 플롯 여백을 제거하는 것이 좋습니다.

set lmargin 0 
set rmargin 0 
set tmargin 0 
set bmargin 0 
set terminal png size 512,128 
set out 'out.png' 
# a checkerboard pattern to test the plot results for errors 
f(x,y)=((x<=0) || (x>=63) || (y<=0) || (y>=63)) ? 0.5 : ((x+y)%2==0)?0:1 
# the 'map' file contains only coordinates. 
plot[-1:63][0:64] 'map' u 1:2:(f($1,$2)) with image 
unset out 

그러나 이것은 틱 레이블이없는 등의 단점이 있습니다. 예를 들어

set lmargin at screen 0.25 

사용 : 그들은 결국 플롯 크기와 일치하도록 당신은 물론, 여백 자신의 값을 계산할 수 있습니다.

어쨌든 가능한 한 벡터 그래픽을 사용하는 것이 좋습니다.