gnuplotで標準入力からコマンドを受け取りプロットする

以前のブログ記事
で「-e」オプションを用いることで、gnuplotのコマンドラインに入らずにグラフをプロットする方法を解説しました。
(gnuplotのコマンドラインのことはインタラクティブモードと言うようです。またコマンドラインに入らずに実行することはバッチモードと言うようです。以降、用語としてインタラクティブモード、バッチモードを使っていくことにします)

標準入力から受け取る方法

gnuplotのバッチモードでは「-e」オプションの他に、標準入力からコマンド文を受け取ってプロットする方法があります。これはgnuplot以外のコマンドでもよく用いられている方法で、コマンドラインオプションに「-」を用います。


簡単な実行例は以下のようになります。
echo "plot x" | gnuplot -p -

echoで「plot x」という文を生成、それをパイプを用いて標準入力としてgnuplot側に渡しています。
(gnuplotの-pオプションは以前のブログで説明しましたが「-persist」オプションのことです)

複数行の命令文を渡す場合は以下のようになります。
echo "set sample 500; set yrange [-1.5:1.5]; plot sin(x*3)" | gnuplot -p -




今回はechoで命令文を生成して渡しましたが、当然他のコマンドからでも渡すことが出来ます。「-e」オプションを用いる場合との違いはそれで、標準入力から受け取れることを利用すればシェルスクリプトと組み合わせるなど汎用的な使い方が出来るかと思います。


その他、gnuplot関連のブログ記事

Amazon データ解析関連書籍など

コメント

スポンサーリンク


このブログの人気の投稿

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplotでプロットなどの色をcolornameの指定で変更する

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)

Pythonのformat()を使って1桁の16進数でも2桁で出力する方法