xmgrace의 Gracebat을 사용하여 다음 배치 스크립트를 사용하여 막대 차트를 생성하고 있습니다.
s0 line type 0
S0 SYMBOL COLOR 4
S0 SYMBOL FILL 1
s0 type BAR
## Bar fill. Only 1 (black) is available.
S0 FILL WITH COLOR
S0 FILL COLOR 3
## Outline width.
S0 SYMBOL LINEWIDTH 2
# options for image output
WORLD XMIN 0
WORLD YMIN 0
PAGE SIZE 800, 600
첫 번째 문제는 스크립트가 자동으로 X에서 간격을 0.5로 설정하는 경우가 있는데 저는 항상 1이 필요하다는 것입니다. 예는 다음과 같습니다.
배치 파일의 일부 옵션을 사용하여 사용되지 않는 0.5 간격을 어떻게 제거할 수 있습니까?
두 번째 문제(X축에도 있음): 때로는 차트가 데이터 없이 2의 더 넓은 범위의 값을 포함하는 경우가 있습니다.
초기 데이터 세트를 기반으로 XMAX를 자동으로 제한할 수 있습니까(그러나 다른 xvg 파일에 적용하므로 배치 스크립트에서 수동으로 설정하지 않음)?
답변1
배치 파일의 일부 옵션을 사용하여 사용되지 않는 0.5 간격을 어떻게 제거할 수 있습니까?
그리고 XAXIS TICK MAJOR 1
.
초기 데이터 세트를 기반으로 XMAX를 자동으로 제한할 수 있나요?
이것문서설명하다
graphno AUTOSCALE TYPE SPEC
데이터의 최소값과 최대값을 사용하도록 AutoScaling 방식을 설정합니다.
따라서 누군가는 G0 AUTOSCALE TYPE SPEC
이것이 완료될 것이라고 생각할 수도 있지만 적어도 Xmgrace의 안정 버전에서는 그렇지 않습니다.
또 다른 접근 방식은 프로그램(예를 들어)을 사용하여 데이터 파일에서 X축과 Y축의 최대값을 추출 awk
하고 이를 사용하여 적절한 배치 명령을 생성하는 것입니다. 예를 들어 다음과 같이 저장합니다 batchplot
.
awk '
NR==1{
max1=$1
max2=$2
}
$1>max1{max1=$1}
$2>max2{max2=$2}
END{printf "WORLD XMAX %s\nWORLD YMAX %s\n",max1,max2 >> "a.xmg"}
' a.dat
xmgrace -nosafe -batch a.xmg a.dat
을 사용하여 실행 가능하게 만들고 및 를 배치 및 데이터 파일의 이름으로 chmod +x batchplot
바꾼 다음 실행합니다. 배치에 X 및 Y축 제한을 추가한 다음 실행합니다.a.xmg
a.dat
권장 사항: 더 복잡한 플로팅 기능을 사용하려는 경우 Xmgrace의 명령줄 인터페이스가 어려울 것입니다. 이것과다른 질문이것이 표시되었습니다. 이 경우 본질적으로 스크립트가 가능한 GNUPlot 또는 Matplotlib를 권장합니다.