2014-10-15 3 views
2

다음 3D gnuplot 분산 그래프에는 2 개의 점 (A와 B로 표시)이 있습니다. 불행하게도이 점들 사이에는 논리적 인 연결이 없기 때문에 시각적으로이 점들이 3D 공간에있는 곳을 알려주는 것은 불가능합니다.3D gnuplot 그래프에 수직선 추가하기

Original graph

나는이 문제를 해결하기 위해 선호하는 방법은 Z = 0 바닥면 아래로 Z 축에 수직 라인을 추가하는 것입니다, 다음 파란색 선 같은 (색상 무관) 난과에 때렸다하는 MS 내가 원하는 것을 설명하기 위해 페인트 :

Same graph with vertical lines added

가 쉽게 알이 방법, 예를 들어, 그 A가 일부 검색 후 B.보다 높은, 나는 방법에 아무것도를 발굴 할 수 없었다 이것을 gnuplot으로 구현하십시오. RTFM 포인터 또는이 유형의 플롯을 구현하는 방법에 대한 기존 예제에 관계없이 도움을 주시면 감사하겠습니다.

답변

2

Murphy 's Law 덕분에 질문을 게시 한 직후 나는 마침내 답을 찾았습니다. 트릭은 splot 그래프 정의에서 with impulses을 사용하고 동일한 시리즈 with points을 다시 플롯하여 임펄스 선의 상단에 십자가를 표시하는 것입니다. 예를 위해서

Final graph

은, 아래와 같이 언급하지만, 마지막에 splot 라인 with impulseswith points가 필요하다, 내가 위를 생성하는 데 사용되는 전체의 gnuplot 스크립트입니다 : 여기에 (다소 양식) 결과입니다 질문에 대답하는 비트.

set object rect from screen 0, screen 0 to screen 1, \ 
      screen 1 fillcolor rgb "black" fillstyle solid 0.9 behind 
set grid xtics ytics ztics mytics \ 
     linetype 3 linewidth 0 linecolor rgb "#3366aa", \ 
     linetype 3 linewidth 0 linecolor rgb "#3366aa" 
set terminal postscript enhanced color size 10,4.9 
set output "/path/to/graph.png" 
set border linecolor rgb "#3366aa" 
set xyplane 0 

splot '/path/to/data' title "" with impulses linecolor rgb "#556600", \ 
     '/path/to/data' title "" with points linecolor rgb "#eeff66" 
관련 문제