나는 여기에서 아무것도 공상적인 것을하려고 노력하지 않고있다. 나는 다음과 같은 스크립트에서 몇 가지 실험 데이터를 플로팅 자동화하기 위해 노력하고 있습니다 :파이썬 하위 프로세스 : gnuplot에 파이프를 사용하여 변수를 플롯하는 방법은 무엇입니까?
print "processing: ", filename
gnuplot = Popen(gnuplot_bin,stdin = PIPE).stdin
if state_plot:
gnuplot.write("set term x11\n".encode())
gnuplot.write("set term png size 1920,1010 \n".encode())
gnuplot.write("set output \"acceleration.png\" \n".encode())
gnuplot.write("set xlabel \"timesteps\" \n".encode())
gnuplot.write("set ylabel \"acceleration\" \n".encode())
gnuplot.write("plot " %filename " using 1 with lines lt -1 lw 0.5 title 'X axis' \n " .encode())
gnuplot.write(" " %filename " using 2 with lines lt 1 lw 0.5 title 'Y axis' \n " .encode())
gnuplot.write(" " %filename " using 3 with lines lt 2 lw 0.5 title 'Z axis' \n " .encode())
그러나 파일 이름이 그대로 촬영됩니다. 나는의 gnuplot에서 다음과 같은 오류가 발생합니다 :
라인 0 : 경고 : "읽을 파일을 건너 뛰는"% 파일 이름 "," 라인 0 : 플롯
이미 SYS에서 파일 이름을 구문 분석 한
에 데이터 없음. argv를 사용하고 그것이 정확하고 안전한지 확인했다. 이제 gnuplot에게 파일 이름이 설정된 모든 이름을 그려 볼 필요가있다. 나는 앰퍼샌드를 제거하면서 이스케이프 문자를 사용해 보았지만 분명히 잘못된 구문을 사용하고 있습니다.
누군가 도와 드릴 수 있습니까?
편집 :
감사의 내가 파이썬 형식화하는 문제를 해결했습니다 AGF하기 :
gnuplot.write("plot \"%s\" using 1 with lines lt -1 lw 0.5 title 'X axis' ,\ \n " %filename)
gnuplot.write("\"%s\" using 2 with lines lt 1 lw 0.5 title 'Y axis' ,\ \n " %filename)
gnuplot.write("\"%s\" using 3 with lines lt 2 lw 0.5 title 'Z axis' \n " %filename)
그러나 지금은의 gnuplot에 문제가 있습니다. 직접의 gnuplot을 사용하는 경우 일반적으로, 내가 입력합니다 :
gnuplot> plot "state_log_6548032.data" using 4 with lines lt -1 lw 0.5 title "X axis" ,\
>"state_log_6548032.data" using 5 with lines lt 1 lw 0.5 title "Y axis" ,\
>"state_log_6548032.data" using 6 with lines lt 2 lw 0.5 title "Z axis"
그러나,의 gnuplot에 파이썬을 통해 이러한 명령을 전송하면 오류가 발생할 것 :
gnuplot> plot "state_log_6548032.data" using 1 with lines lt -1 lw 0.5 title 'X axis' ,\
^
line 0: invalid character \
gnuplot> "state_log_6548032.data" using 2 with lines lt 1 lw 0.5 title 'Y axis' ,\
^
line 0: invalid character \
gnuplot> "state_log_6548032.data" using 3 with lines lt 2 lw 0.5 title 'Z axis'
^
line 0: invalid command
내가이 함께 할 수있다 장담을 \ 및 개행 문자?
아직 보지 못했지만 여기를 보시기 바랍니다 : http://gnuplot-py.sourceforge.net/ –