2013-06-17 6 views
8

Obecnie zrobić coś jak następuje:Jak wysłać .png plot do stdout w gnuplot?

set term png 
set output 'file.png' 

Ale hardcoding nazwę pliku w skrypcie jest dość sztywny. Czy jest jakiś sposób, aby powiedzieć gnuplotowi, aby wyprowadzał plik obrazu na standardowe wyjście, aby w razie potrzeby móc go przekierować?

Odpowiedz

11

Jeśli chcesz wysłać swoją .png na standardowe wyjście, tylko nie ustawić wyjście:

#!/usr/bin/env gnuplot 
set term png 
plot x 

następnie uruchomić skrypt

./plot.plt > mypng.png 

myślę obwoluta bash większy sens dla większości celów, ale jest to również potencjalnie przydatne.

+0

Ja natomiast uważam, że opakowanie bash jest prawie bezużyteczne w większości zastosowań. Właśnie tego szukałem, dzięki! – Rogach

+2

Dla innych ludzi, którzy mogą trafić w ten sam szkopuł, co ja i widzą 'gnuplot>' w swoich wyjściach: nie uruchamiaj 'gnuplot -' podczas wydawania komend na stdin, po prostu potokuj do' gnuplot' bez '-'. –

1

Put skryptu Gnuplot wewnątrz skryptu i używać here document:

#!/bin/bash 
gnuplot << EOF 
set term png 
set output "$1.png" 
plot "$1.dat" 
EOF 

Teraz wywołać skrypt powiedzieć plot.sh, określając prefiks do pliku wyjściowego i danych jako argumentu: bash plot.sh file.