3

外部クラスからpyplotFigureを渡そうとしましたが(インポートする必要があるため)、失敗しました。これが、クラスからプロット(表示されていない)を取得する問題に取り組むべき方法であるかどうかさえわかりません。

from matplotlib.figure import Figure
import matplotlib.pyplot as plt

class Plotter(object):
    def __init__(self, xval=None, yval=None):
        self.xval = xval
        self.yval = yval

    def plotthing(self):
        f = Figure(1)
        sp = f.add_subplot(111)
        sp.plot(self.xval, self.yval, 'o-')
        return f

これが大まかにクラスです(plotfile.pyという名前)。これが他のバルクスクリプトです。

from plotfile import Plotter
import matplotlib.pyplot as plt

app = Plotter(xval=range(0,10), yval=range(0,10))
plot = app.plotthing()
app.show(plot)

私はこのテーマのいくつかのバリエーションを試し、最高のgooglefuを試しましたが、役に立ちませんでした。どんな助けでも大歓迎です。私がこれへのアプローチから離れている場合、私はそれを正しく行う方法を聞くことに非常にオープンです。ありがとう。

4

1 に答える 1

5

いくつかの点:Figureあなたが思っているようには機能しないと思います。Plotterオブジェクトには.show()メソッドがないため、機能しませんapp.show(plot)。以下は私のために働いた:


# plotfile.py
import matplotlib.pyplot as plt

class Plotter(object):
    def __init__(self, xval=None, yval=None):
        self.xval = xval
        self.yval = yval

    def plotthing(self):
        f = plt.figure()
        sp = f.add_subplot(111)
        sp.plot(self.xval, self.yval, 'o-')
        return f

from plotfile import Plotter

app = Plotter(xval=range(0,10), yval=range(0,10))
plot = app.plotthing()
plot.show()
raw_input()

于 2012-09-27T16:11:12.350 に答える