gnuplot : Piped-dataとPythonスクリプトを組み合わせたプロット(基本)
はじめに
今後「Piped-dataとPythonスクリプトを組み合わせたプロット」というテーマで何本か解説記事を書いていく予定です。今回は始めということで、基本の部分について解説していきます。ここでやること自体はこれといっておもしろいものでは無いですが、仕組み上の基本ということに意味があります。(テーマでPythonを扱っているのは、自分が一番扱いやすいプログラミング言語だからという理由です。他のプログラミング言語、コマンドなどでも応用可能です)
Piped-dataについて
gnuplotのPiped-dataについては以前の解説記事で説明しています。簡単におさらいすると
gnuplot> plot "< 外部コマンド"
として、外部コマンドの出力をデータファイルとしてプロットするという仕組み。
用いるPythonスクリプト
今回は基本の解説なので、Pythonスクリプトは単に与えられたデータを書き出すという単純なものを用います。Pythonスクリプトは以下に示すように、x, yのいくつかのデータをそのまま出力するというもの。data01 = """\
1 2
2 1
3 4
4 0
5 6
"""
print(data01)
これを"script01.py"というスクリプトファイルとして保存します。
ちなみにこの段階で実行すると以下のようにx, yのデータが出力されます。
$ python3 script01.py
1 2
2 1
3 4
4 0
5 6
PythonスクリプトをPiped-dataから呼び出す
用意したPythonスクリプト"script01.py"をgnuplotからPiped-dataを用いて呼び出してプロットします。ここでは特に難しくはなく、以下のgnuplotコマンドとなります。gnuplot> plot "< python3 script01.py" with linespoints
これで以下のグラフがプロットされます。
Piped-dataでPythonスクリプトを呼び出しプロット |
まとめ
以上のように、呼び出したPythonスクリプトの出力をそのままPiped-dataでプロットする基本はこのようになります。これを基本としてさらに応用的な使い方が可能になっていきます。今後の予定
さてPiped-dataとPythonスクリプトを組み合わせてみましたが、この段階ではまだ仕組みの基本でしか無いです。今回行ったことは、Pythonスクリプトにしなくともデータファイルを作ってプロットすればいいもの。わざわざ回りくどい方法を取ったようにしか見えないですが、それも基本でしか無いためです。ここからさらに- Pythonのmathやrandomモジュールなどを用いた使い方
- gnuplot側からスクリプトにパラメーターを与えてプロットする使い方
- などなど
gnuplot関連のブログ記事
コメント
コメントを投稿