2014-12-12 3 views
2

내 플롯 뒷면에 오버레이 된 선을 숨길 수있는 방법이 있습니까? hidden3d 옵션을 사용하려고했지만 예상대로 작동하지 않습니다.Gnuplot : Hidden3D

set encoding utf8 
set key right top 

set xrange[0:1] 
set yrange[0:1] 

set grid 
set ztics 0.01 
set palette rgbformulae -5,-12,-30 

set xlabel "x" font "Helvetica, 20" 
set ylabel "y" font "Helvetica, 20" 
set zlabel "z" font "Helvetica, 20" 

set terminal postscript eps enhanced color font "Helvetica, 20" 
set output "approx_jacobi.eps" 

ue(x,y) = sin(pi*x)*sin(pi*y)/(2*pi**2); 

#set hidden3d front 
set dgrid3d 31, 31 qnorm 2 
splot 'results.dat' with pm3d notitle,\ 
     ue(x,y) w l lw 2 t 'Exact' 

나는 현재 받고 있어요 그 결과 set hidden3d front 나를 위해 잘 작동 사용

here it is

+0

Pm3d 및 hidden3d는 특정 구성 작업을 수행하는 것이, 아주 잘 함께 작동하지 않습니다. 데이터 파일을 어딘가에 업로드 할 수 있습니까? – Christoph

+0

내가 기억하는 한, gnuplot은 실제로 객체의 위치를 ​​3D로 인식하지 못합니다. 각 줄거리는 이전의 앞에서 그려집니다. – sweber

+0

@sweber 일반 표면의 경우 hidden3d가 잘 작동합니다 (예 : 'set hidden3d; splot -5, -0.1 * (x ** 2 + y ** 2)'. 숨겨진 표면 제거에 문제가되는 것은'pm3d'뿐입니다. – Christoph

답변

1

입니다. 선형 보간으로 인해 라인과 표면의 교차를 피하기 위해 isosamples를 약간 늘려야했습니다. 또한 이미 정규 격자가 있으므로 set dgrid3d을 사용할 필요가 없습니다. 4.6.5와

set pm3d 
set hidden3d front 
set ticslevel 0 
set isosamples 40 
set palette rgbformulae -5,-12,-30 

ue(x,y) = sin(pi*x)*sin(pi*y)/(2*pi**2) 
splot 'results.dat' with pm3d, ue(x,y) w l 

결과는 다음과 같습니다 일어날 수 있지만

enter image description here