2012-01-05 3 views
0

私は約24の異なる数字を生成する必要があるPythonモジュールを持っています。コードをクリアするために、サブプロットの6つまたはそれ以上のグループの個々のプロット関数を別々のサブモジュールに置き、プロット目的に必要な配列で呼び出します。私はトップモジュールの先頭にプロットするサブモジュールのすべてをインポートして、私はこれを行う際に生成されます唯一のプロットがあるサブモジュールのmatplotlibプロットの空の.png出力

import os, numpy, scipy 

import matplotlib.pyplot as plt 

def plot(array1, array2): 

    Initial Plotting Setup 

    plt.clf() 

    Plotting and saving commands 

個々の1の構造の線に沿っています最後のプロットサブモジュールによって生成されたものがインポートされます。残りはすべて空の.pngファイルです。私は輸入注文を並べ替えました。私がトップモジュールの本体に入れて、プロットするときにインポートすると、同様のことが起こりました。

なぜこのようなことが起こっているのか、どのように私のプロットツールをすべてサブモジュールに保存しながら修正できるのか誰にも分かりませんか?

+0

をm2.png

>> from folder import par 

m1.png

enter image description here

明確な答えを得る。あなたは個々の数字を作成していますか?または、pyplot:plt.plot()、plt.savefig()などを介して手続き型インタフェースを使用していますか? – Yann

+0

はい、私はpyplotを介して手続き型インタフェースを使用しています。ここでは例を示します。 'デフvarPlot(passCount、corrMat、plotsPlace): plt.clf()HERE プロット関数 pltname = "/variances.png" FNAME = plotsPlace + pltname fig.savefig( fname) ' – webb

答えて

0

あなたのコードをどのように整理しているのか分かりません。これは動作します:

m1.py

import matplotlib.pyplot as plt 

def plot(): 
    plt.clf() 
    plt.plot([10,2,30,4]) 
    plt.title("m1") 
    plt.savefig('m1') 

m2.py

import matplotlib.pyplot as plt 

def plot(): 
    plt.clf() 
    plt.plot([1,2,3,4]) 
    plt.title("m2") 
    plt.savefig('m2') 

par.py

import m1 
import m2 

m1.plot() 
m2.plot() 

フォルダ構造:

folder\ 
....__init__ 
....m1.py 
....m2.py 
....par.py 

あなたが実行:あなたはおそらくに少しより多くの情報を提供する必要があります

enter image description here

+0

これはまさに私が持っている構造体で、m1で行われたプロットのために空の.pngファイルを返しています。 – webb

+0

** **まったく同じですか?私の構造とファイルを正確に再現すれば、まだ空の図形が得られますか? – joaquin

+0

私はそれを理解しました。私はfigpltfigure()という定義をいくつか使っていましたが、matplotlibのウェブサイトから離れました。意図しない結果が出ていました。 figt = plt.figure()... – webb

関連する問題