36

私のプログラムは、gnuplot を呼び出す bash スクリプトを生成します。データを保存するために余分なファイルを作成する必要はありません。すべての値を明示的に呼び出す方法はありますか? または、bash で一時ファイルを作成することもできます。

何かのようなもの

plot {(1,5),(2,10),(3,1)}

私が探しているものです。

4

6 に答える 6

46

inline data-filename の構文を使用できます'-'

次の例では、画像内に単純なプロットを作成しGIFます (bashスクリプト)。

gnuplot << EOF
set terminal gif
set output 'plot1.gif'
plot '-' using 1:2
        1 10
        2 20
        3 32
        4 40
        5 50
        e
EOF
于 2010-07-23T14:05:20.177 に答える
27

Gnuplot 5.0.1 データブロック

main.gnuplot

$data << EOD
1 1
2 4
3 9
4 16
EOD

plot "$data" \
  with linespoints \
  title "my data"

PNG に変換:

gnuplot -e 'set terminal png' -e 'set output "main.png"' main.gnuplot

出力:

ここに画像の説明を入力

'-'この方法は、同じコマンドを含め、同じデータを複数回再利用するのが簡単になるというよりも、もう少し用途が広いですplot: How to embed multiple datasets in a gnuplot command script for a single plot command?

バージョン 5 は Ubuntu 15.04 で利用できます。または、https ://askubuntu.com/a/684136/52975 を使用してソースからコンパイルします。

+関数でプロットするときは、および++特殊ファイル名にも関心があるかもしれません。

Ubuntu 18.10、gnuplot 5.2 でテスト済み。

于 2015-10-11T11:52:34.357 に答える
4

パイプラインでシェルを使用する例、

gnuplot -p <(echo -e 'plot "-"\n1 1\ne')
于 2012-06-13T04:08:01.703 に答える