gnuplotで標準入力からコマンドを受け取りプロットする
以前のブログ記事
で「-e」オプションを用いることで、gnuplotのコマンドラインに入らずにグラフをプロットする方法を解説しました。
(gnuplotのコマンドラインのことはインタラクティブモードと言うようです。またコマンドラインに入らずに実行することはバッチモードと言うようです。以降、用語としてインタラクティブモード、バッチモードを使っていくことにします)
例
簡単な実行例は以下のようになります。
echoで「plot x」という文を生成、それをパイプを用いて標準入力としてgnuplot側に渡しています。
(gnuplotの-pオプションは以前のブログで説明しましたが「-persist」オプションのことです)
複数行の命令文を渡す場合は以下のようになります。
今回はechoで命令文を生成して渡しましたが、当然他のコマンドからでも渡すことが出来ます。「-e」オプションを用いる場合との違いはそれで、標準入力から受け取れることを利用すればシェルスクリプトと組み合わせるなど汎用的な使い方が出来るかと思います。
その他、gnuplot関連のブログ記事
Amazon データ解析関連書籍など
で「-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 データ解析関連書籍など
コメント
コメントを投稿