Я хотел бы использовать команду, как

plot 'datafile.gz' u 1:2

в gnuplot для файла данных, который распаковывается. Конечно, gnuplot видит, что файл распакован, и распаковывает его для меня. Есть ли способ заставить gnuplot обрабатывать сжатый файл напрямую, без необходимости сначала распаковывать его на диск?

2 ответа2

5

Если вы отправляете gnuplot его команды из командной строки unix, вы также можете передать ему данные из другой программы, например, zcat которая читает файл gzipped и распечатывает его, например:

zcat datafile.gz | gnuplot -p -e 'plot "-" u 1:2'

РЕДАКТИРОВАТЬ:

Очевидно, вместо имени файла вы можете дать команде plot gnuplot команду оболочки для запуска и использовать выходные данные. Просто вставьте < впереди:

plot "< zcat datafile.gz" u 1:2

Вы должны иметь возможность использовать это несколько раз, чтобы делать то, что вы хотите.

(Ответ любезно предоставлен philipp.janert на форуме «Gnuplot в действии» http://www.manning-sandbox.com/message.jspa?messageID=77092)

2

Да:

gzcat datafile.gz | plot '-' u 1:2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .