2014-10-06 4 views
2

У меня есть простой питон скрипт (smazat.py), которые генерируют некоторые данныепрокладочных данные с Gnuplot из стандартного ввода

for i in range(50): 
    print i, i-20 

я могу сделать изображения в командной строке окна с помощью следующей команды

smazat.py | gnuplot -e "set term png;p '-'" > smazat.png 

однако когда используйте скрипт gnuplot с теми же командами, что и этот.

smazat.py | gnuplot smazat.gp > smazat.png 

не работает. Что происходит?

+1

Используйте 'plot ' Christoph

+0

Возможный дубликат [данные о графике трубы для скрипта gnuplot] (http://stackoverflow.com/questions/17543386/pipe-plot-data-to-gnuplot-script) – Christoph

+0

«plot» OlejzMaku

ответ

1

Если вы на системе Unix, вы можете использовать

plot `< cat -` 

для достижения этой цели (см pipe plot data to gnuplot script).

В Windows, и так как вы используете Python в любом случае, вы можете написать небольшую cat.py питон скрипт, который проходит STDIN стандартный вывод:

Script cat.py

from __future__ import print_function 
import sys 
for line in sys.stdin: 
    print(line, file=sys.stdout, end='') 

файл Plot plot.gp

set term png 
plot '< python cat.py' 

А затем позвоните по номеру

python smazat.py | gnuplot plot.gp > smazat.png 
+0

Спасибо, что работает отлично. – OlejzMaku

Смежные вопросы