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スクリプトを呼び出しプロット
Piped-dataでPythonスクリプトを呼び出しプロット

まとめ

以上のように、呼び出したPythonスクリプトの出力をそのままPiped-dataでプロットする基本はこのようになります。これを基本としてさらに応用的な使い方が可能になっていきます。


今後の予定

さてPiped-dataとPythonスクリプトを組み合わせてみましたが、この段階ではまだ仕組みの基本でしか無いです。今回行ったことは、Pythonスクリプトにしなくともデータファイルを作ってプロットすればいいもの。わざわざ回りくどい方法を取ったようにしか見えないですが、それも基本でしか無いためです。ここからさらに
  • Pythonのmathやrandomモジュールなどを用いた使い方
  • gnuplot側からスクリプトにパラメーターを与えてプロットする使い方
  • などなど
といった使い方が出来るので、今後数回に分けて解説記事を書いていく予定です。


gnuplot関連のブログ記事

コメント

スポンサーリンク


このブログの人気の投稿

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

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

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

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

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