Qtiplot + Pythonは、途方もないグラフ作成とデータ処理機能を提供します



今日は、QtiPlotプログラムと、Python言語を使用してその機能をスクリプト化する可能性について少し説明します。



QtiPlotプログラムは、 Originの無料の類似物、つまりデータを表示および分析するための汎用ツールとして開発されています。 あらゆる種類のグラフの作成、データ操作の実行、曲線の近似値の検索などができます。 私は研究所の最初の年からOriginを使用していなかったため、可能性を比較することはできません。QtiPlotには3つの大きな利点があります。それは、無料、クロスプラットフォーム、およびPythonスクリプトです。



現在、* nixシステムの世界でグラフを作成するための「事実上の標準」はgnuplotであり、Windowsの世界ではOriginです。コストを見ると壊れているようです(最もクールなバージョンでは$ 1000弱)。 そのため、Pythonで適切に配置されたQtiPlotは、これらの製品を圧迫する可能性があります。





まず、qtiplotをインストールする必要があります。 これは、ディストリビューションのリポジトリから行うのが最適です。これは、大きな保証があるため、すべてのライブラリが正しくリンクされることを意味するためです(たとえば、 opensuse 11.1の場合 )。 サイトからバイナリを取得できますが、Python 2.5とリンクされており、ほとんどの人がすでに2.6を持っています。自分でコンパイルすることもできますが、それほど簡単ではありません。 ところで、ここでは、有料のフリーソフトウェアの例に直面しています。 Windowsユーザーはデモ版のみをダウンロードできますが、完全版には費用がかかります。 さて、または彼らは自分自身をコンパイルすることができます。 または、インターネットで別のアセンブリを見つけます。 そして、あなたは購入することができます、それはわずか1ユーロの起源と比較して、わずか20ユーロです。



NB * nixユーザー! インストールの前に、Pythonとpython-sipパッケージがインストールされていることを確認する必要があります。このスクリプトがないと機能しません。



2番目のステップは、スクリプトサポートを有効にすることです。これには、qtiplotrc.pyおよびqtiUtil.py初期化ファイルが必要です。 残念ながら、彼らは間違いを犯しました。スクリプトが機能しない場合は、ファイルダウンロードしてください 。 それらを例えば〜/ .qtiplot /のような場所に置き、qtiplotを実行します。 [次の表示]-> [設定]-> [一般]-> [ファイルの場所]で、ファイルを配置するディレクトリを選択します。 あとは、Pythonをオンにして、[スクリプト]-> [スクリプト言語]-> [Python]を選択し、[表示]-> [コンソール]を開くだけです。 私のファイルを使用する場合、コンソールには「python is ready」という碑文が含まれている必要があります。 実際、これはまったくコンソールではなく、coutの出力です。



すべてがうまくいけば、プレイを開始できます! たとえば、フィボナッチ数列を作成しましょう。 デフォルトでは、すでに1つのテーブルがあり、X列に列を埋める->行番号、Y列に列値の設定を選択し、図に示すように小さなプログラムを入力します。 Use muParserのチェックを外すことを忘れないでください。 残念ながら、デフォルトではアクティブになっており、激怒しています。



 t = currentTable()
 t.setCell(2,1,1)
 t.setCell(2,2,1)

範囲(3,10)の場合:
    t.setCell(2、i、t.cell(2、i-1)+ t.cell(2、i-2)









やばい、Y列には10個のフィボナッチ数があります。 しかし、いわば、ペンのテストであり、スクリプトが機能していることを確認することでした。 関数を書くたびにあまり便利ではなく、数字の数がハードコーディングされていることは明らかです。 したがって、 ブラックジャックと....を使用して独自の関数作成します。 〜/ .qtiplotに移動し、そこにファイルを作成します。たとえば、次の内容のqtimyfunc.pyです(はい、再帰はより遅いことを知っていますが、これは単なる例です)。



#!/usr/bin/python <br>

<br>

import qti, math<br>

<br>

#global fib <br>

def fib (n):<br>

" Calculates fibonacci numbers "<br>

if n == 0:<br>

return 0<br>

elif n == 1:<br>

return 1<br>

else :<br>

return fib(n-1) + fib(n-2)<br>

<br>









そして、行import_to_global( "qtimyfunc"、None、True)をqtiplotrc.pyファイルに追加します。 qtiplotとして再起動すると、関数が関数のドロップダウンリストに表示されます。 これは本格的なPythonプログラムであるため、単純な再帰から宇宙船の軌道計算まで、すべてを詰め込むことができます。







しかし、怠lazは止まりません。 毎回、列に記入し、機能を入力し、ボタンを完全に押し下げるよりも少し押し下げます。 したがって、タブレットを作成し、それを入力してチャートをプロットするスクリプトを作成します。 フィボナッチから脱線しましょう。ノイズのある実験データがあり、近似値を作成する必要があり、理論上、データには2次法則があることがわかっているとします。



次のスクリプトを作成します。

#!/usr/bin/python <br>

import sys<br>

<br>

import qtimyfunc<br>

import random<br>

random.seed()<br>

<br>

t = newTable(" Data ", 20, 2)<br>

t.setColName(1, " x ")<br>

t.setColumnRole(1, Table.X)<br>

t.setColName(2, " y ")<br>

t.setColumnRole(2, Table.Y)<br>

for i in range(1, 20):<br>

t.setCell(1,i,i)<br>

t.setCell(2,i,(i+(random.randint(0,100)-50)/20)**2)<br>

g = plot(t, t.colName(2), 1).activeLayer()<br>

<br>

f = PolynomialFit(g, " Data " + " _ " + t.colName(2), 2, True)<br>

f.fit()<br>

<br>









スクリプトはQtiplot Python APIを使用します 。これは非常にシンプルで、十分に文書化されています。 それを開始するには、コンソールからコマンドを実行します。 当然、myscript.pyはスコープ内にある必要があります。

$ qtiplot -x myscript.py









スクリプトの実行結果は、目に優しい絵になります。







コンソールからスクリプトを呼び出す機能に加えて、Qtiplotは任意のメニュー項目にスクリプト起動を追加したり、ツールバーボタンにハングさせたりすることができます。 したがって、プログラムをカスタマイズする可能性は実質的に無制限です;独自のアクションを作成し、マウスのワンクリックでそれらを呼び出すことができます。 これは、スクリプトメニューで行われます。 そして、それは次のようなものになります。







プログラムは絶えず進化しており、新しい機能が追加され、APIが拡張され、インターフェイスが改善されていることに注意してください。 残念ながら、現在このプログラムについて知っている人はほとんどいないので、この記事がその配布に役立つことを願っています。 このプログラムには、 さまざまな便利な追加がpythonで配置されているフォーラムもあります。






All Articles