ここでは何もやろうとしていません。私は次のスクリプトでいくつかの実験データをプロットしようとしています:Pythonのサブプロセス: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にファイル名が設定されている名前をプロットするように指示する必要があります。 エスケープ文字を使用しようとしましたが、アンバーサンを削除しましたが、私は明らかに間違った構文を使用しています。
誰かが助けてくれますか?
編集:私はPythonの整形の問題を解決してきました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/ –