2017-11-02 2 views
1

고르지 않은 격자에서 얻은 3D 결과 열 그래프 f (x, y)를 플롯하려고합니다. 내가 얻은 플롯은 그래프 상단에보기 흉한 빈 공간을 제공합니다. 다음은 내가 직면 한 문제를 재현 할 수있는 최소한의 스크립트입니다.gnuplot이 고르지 않은 격자에서 히트 맵을 잘못 렌더링합니다.

#Generate some dummy data 
f(x,y) = sqrt(x**2 + y**2) 
set table 
set samples 1000 
set output "table.dat" 
splot [0:10][0:10] f(x,y) 

묘화 스크립트 y 축 값은 X 축에 의존하기 때문에

# plot it 
set term x11 
set out 
set pm3d map 
splot [1:5] [0:2] "table.dat" u ($1):($2/$1):($3) 

는 그리드 지금도이다. 다음 그림에서 볼 수 있듯이 gnuplot은 플롯의 위쪽 테두리 근처의 공간을 채우지 못합니다. 축 한계를 변경해도 도움이되지 않습니다.

sample impage plot

모든 아이디어를 어떻게 흰색 삼각형을 업 작성이 음모 좋네요 보이게?

도움 주셔서 감사합니다.

+0

정확히 어떻게하면 좋을지 상상하기 어렵습니다. ** – RomanPerekhrest

+0

안녕하세요,이 말이 맞습니다. 나는 꼭대기에 흰색 삼각형이 없다는 의미였습니다. 여기에 그려야 할 몇 가지 데이터가 있습니다. 색상이 지정되어야합니다. – vjaunet

+0

샘플간에 데이터 포인트를 채우고 싶다면 보간법을 사용해야합니다.이 작업은'set dgrid3d'로 할 수 있습니다. 또한 테이블의 해상도는 'x'(1000 포인트)이지만 'y'의 해상도는 매우 낮습니다 (10 포인트). 보간은 더 미세한 메쉬 ('isosamples 1000'설정)로 더 잘 작동합니다. – user8153

답변

0

2 차원 보간에 dgrid3d을 사용할 수 있습니다. using 사양이 ($1):($2/$1):($3) 인 경우 데이터 포인트가있는 도메인은 매우 불규칙합니다. 다른 모든 값을 NaN으로 설정하여 작은 사각형에만 관심이 있다고 dgrid3d에게 알리는 것이 좋습니다. 예를 들어 :

set pm3d map 
set dgrid3d 100,100 qnorm 4 
splot [1:5] [0:2] "table.dat" u ($1 >= 1 && $1 <= 5 ? $1 : 1/0):($2/$1 > 0 && $2/$1 < 2 ? $2/$1 : 1/0):3 

enter image description here

당신은 합리적인 보간을 얻을 수 dgrid3d의 다양한 옵션을 실험해야합니다.

+0

완벽! 이 트릭을 가져 주셔서 감사합니다! dgrid3d가 플롯 범위를 기반으로하지 않는다는 것은 부끄러운 일입니다. – vjaunet

관련 문제