2013-06-17 9 views
8

Şu anda, aşağıdaki gibi bir şey yapın:Gnuplot'ta stdout'a .png grafiğini nasıl gönderirim?

set term png 
set output 'file.png' 

Ama komut dosya adı hardcoding oldukça esnek değildir. Gnuplot'a görüntü dosyasının çıkışını stdout'a bildirmenin bir yolu var mı? Bu yüzden, gerektiğinde çıktıyı yönlendirebilir miyim?

cevap

11

Eğer Stdout'a sizin .png göndermek istiyorsunuz, sadece çıkış set yoktur:

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

Sonra bash sarıcı daha mantıklı düşünmek senaryoyu

./plot.plt > mypng.png 

çalıştırmak Çoğu amaç için, ancak bu da potansiyel olarak yararlıdır.

+0

Diğer yandan, bash sarmalayıcının çoğu amaç için neredeyse işe yaramaz olduğuna inanıyorum. Tam olarak aradığım şey bu, teşekkürler! – Rogach

+2

Benimle aynı takılmaya varabilen ve çıktılarında "gnuplot" görebildiğiniz diğer insanlar için: "gnuplot", stdin üzerinde komut verirken çalışmaz, sadece "gnuplot" kelimesini "-" olmadan aktarın. –

1

bir komut dosyası içinde senin gnuplot komut koyun ve bir here document kullanın: bash plot.sh file: argüman olarak çıkış dosyasına ve verilere öneki belirterek

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

Şimdi senaryoyu çağırmak, plot.sh söylüyorlar.