我有简单的python脚本(smazat.py)来生成一些数据
for i in range(50):
print i, i-20
我可以使用以下命令在Windows命令行中创建图像
smazat.py | gnuplot -e "set term png;p '-'" > smazat.png
但是当使用gnuplot脚本时使用相同的命令
smazat.py | gnuplot smazat.gp > smazat.png
它不起作用。发生了什么事?
答案 0 :(得分:1)
如果您使用的是Unix系统,则可以使用
plot `< cat -`
实现这一目标(见pipe plot data to gnuplot script)。
在Windows上,既然你还在使用python,你可以编写一个小的cat.py
python脚本,它将stdin传递给stdout:
脚本cat.py
from __future__ import print_function
import sys
for line in sys.stdin:
print(line, file=sys.stdout, end='')
绘制文件plot.gp
set term png
plot '< python cat.py'
然后用
调用它python smazat.py | gnuplot plot.gp > smazat.png