将剧情传递出课程

时间:2012-09-27 15:57:36

标签: python matplotlib

我一直试图从外部类中传递一个pyplot图(必须导入),但是一直没有成功。我甚至不知道这是否应该解决从课堂上获得情节(未显示)的问题。

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,但并非无济于事。任何帮助将不胜感激。如果我对此采取措施,我很乐意听取如何正确地做到这一点。感谢。

1 个答案:

答案 0 :(得分:4)

以下几点:我认为Figure的工作方式与您认为的不一样,并且您的Plotter对象没有.show()方法,因此{{1}不会起作用。以下对我有用:


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