Vorbei Grundstücke aus einer Klasse
Habe ich versucht, übergeben Sie eine pyplot Figur aus einer externen Klasse (wie in die importiert werden müssen), aber waren erfolglos. Ich weiß gar nicht, ob dies ist die Art, wie ich sein sollte, das problem anzugehen, der immer eine Handlung (nicht gezeigt) aus einer Klasse.
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
So, dass die Klasse etwa (Namen plotfile.py). Hier ist der Großteil andere script.
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)
Ich habe versucht, verschiedene Variationen über dieses Thema und habe versucht mein bestes googlefu, aber nicht ohne Erfolg. Jegliche Hilfe würde sehr geschätzt werden. Wenn ich bin Weg auf meinen Ansatz zu diesem bin ich sehr offen, um zu hören, wie es zu tun richtig. Danke.
- Was ist der app.Karte(plot) tun sollen? Was bedeutet der code wirklich tun? Was erwarten Sie, es zu tun?
- Ich nur wollen, um pop-up ein plot, wie wenn Sie geben Sie
p = plt.plot(xval, yval)
dannplt.show()
. Ich will einfach nur das heben schwerer einrichten der plots in einer Klasse, so kann ich es nennen, von verschiedenen Programmen. - Dann definieren Sie eine Methode
show()
aufruftplt.show()
. Derzeit Ihre zweite Skript ruft eine solche Methode, aber es ist nirgendwo definiert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein paar Punkte: ich denke nicht, dass
Figure
funktioniert, wie Sie denken, es tut, und IhrPlotter
Objekt nicht.show()
Methode, soapp.show(plot)
wird nicht funktionieren. Die folgenden arbeitete für mich: