web-dev-qa-db-ja.com

Pythonでgnuplotを使用する方法の簡単なガイド?

Gnuplotを使用して、Pythonでグラフを描画しようとしています。どのように始めるかガイド/チュートリアルを見つけるのに苦労しています。

私が疑問に思っていること:どのファイル/プログラムが必要ですか?(私はUbuntuを使用しています)、どこから始めればよいですか?

誰かが良いチュートリアルを推薦できたら、それは非常にありがたいです!

ありがとうございました!

19
Fredrik Nylund

gnuplot.py を試すことができます。過去に使ったgnuplotへのインターフェースです。ウェブサイトにはいくつかの兆候があり、ディストリビューションにはいくつかのサンプルスクリプトがあります。

実際、Pythonから直接gnuplotを実行するのは非常に簡単です。 gnuplot.pyソースコードはあなたに貴重なヒントを与えます。他の選択肢については、 ここここ も参照してください。

他の人が推奨するように、代替はmatplotlibを使用することです。 Matplotlibはすばらしいので、メインの可視化ライブラリとして使用しています。欠点は、大量のデータを処理すると、遅くなる可能性があることです。この場合のgnuplotは良いオプションです。

13
joaquin

あなたのアプローチは、あなたが既に持っているものとあなたが何に働きたいかによって異なります。 gnuplotでグラフをプロットするには、次の2つが必要です。

  1. 結果のプロットがどのように見えるかを記述するgnuplotスクリプト(タイトル、軸の説明、凡例...)
  2. プロットするデータを保持するデータファイル

既にgnuplotスクリプトファイルを言って、単純にpythonを使用して新しいデータファイルを書きたい場合は、この方法が適切です。以前にデータファイルで使用した指定の形式にデータをエクスポートし、python内からgnuplotを実行します。

import os
import subprocess
p = subprocess.Popen("gnuplot <scriptname>", Shell = True)
os.waitpid(p.pid, 0)

新しいデータファイルを書き出す場合は、gnuplotスクリプトでデータファイルのパスを変更する必要があることを忘れないでください。だからこのようなもの:

plot "<path>" ...

まだ使用したいgnuplotスクリプトがない場合は、確実にスクリプトを記述して、これから使用することができますが、pythonを使用することで、他の方法もあります。

matplotlib を見てみましょう。これは Matlab がplotコマンドを使用する方法とよく似たプロットライブラリです。これは非常によく文書化されており、オンラインで学習および使用できるチュートリアルや例がたくさんあります。

9
Woltan

Gnuplotのファンとして、私はこのgnuplotラッパーを使用しています https://github.com/mzechmeister/python/wiki/gplot.py

ここにデモスニペットがあります

from gplot import *

gplot.term('wxt')
gplot.title('"gplot.py"').grid()
gplot.xlabel('"time"')
gplot([1,2,0,4,3.5], 'w l, sin(x), "<seq 10" us 1:(cos($1))')

0
Friedrich