이 작업은 그러나, GNUPLOT에서 직접 가능한 가장 가능성이없는, 하나는 사전 처리는 데이터 파일을 먼저 사용 예는, 둔한 후 수정 된 파일을 플롯 할 수 있습니다. 예를 들어 : 그것은 빈 줄 (필드의 제로 수)에 도달 할 때까지
는
dataFile="a.dat"
plotCmd(fname)=sprintf("<gawk '\
BEGIN{mode=0;l=0;} \
mode==0{if(NF==0){mode=1;}else{x[NR]=$1;y[NR]=$2;}} \
mode==1{if(NF>0){mode=2;l=NR;}} \
mode==2{print $1,y[NR-l+1],$2}' %s", fname)
plot plotCmd(dataFile) u 1:($2-$3) w l
둔한 스크립트는 파일을 읽고 배열 x
에 제 1 및 제 2 열을 저장하고 y
. 그런 다음 비어 있지 않은 행 (NF>0
)에 도달 할 때까지 모든 연속 공백 행을 건너 뜁니다. 또한 입력 파일이 광고의 위치를 기억하고 함께 x 좌표 제 2 블록의 각 행에 대한 출력 첫번째 블록, 즉 데이터 파일의 Y 좌표 대응 같은
1 2
2 4
3 6
1 4
2 8
3 12
은 ...
이 두 블록의 x 좌표가 일치한다고 가정
1 2 4
2 4 8
3 6 12
로 변환 될 것이다