Capisco come visualizzare i grafici matplotlib sullo schermo utilizzando l'interfaccia pyplot (credo!). Ho iniziato a disegnare in un programma multi-thread e questo ha iniziato a causare errori, quindi sto provando a passare all'interfaccia orientata agli oggetti. Posso creare una trama semplice e salvarla in file usandoTraccia grafici sullo schermo utilizzando l'API matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
fig = Figure()
can = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.plot((1,2,3))
can.print_figure('test')
Ma come visualizzare questo grafico sullo schermo? Ho visto altro codice che utilizza can.draw()
ma che non ha alcun effetto.
Inoltre, per favore fatemi sapere se c'è qualcosa di subottimale sul mio codice qui sopra - Non ho davvero preso confidenza con quello che tutti questi oggetti di figura, tela e assi fanno ancora.
Grazie mille per il tuo aiuto. Non avevo capito che la risposta sarebbe stata specifica per il back-end (ho cercato di capire cosa stava facendo 'pyplot.show()', ma non ho trovato il codice pertinente). Ho trovato [questo] (http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_tk.html) esempio per Tk, che è molto utile. La citazione del multithreading era probabilmente un'aringa rossa: avevo solo del codice che faceva un po 'di numeri e ho salvato alcuni grafici con Pyplot, ho provato a spostarlo in un thread in modo da poter vedere i suoi risultati mentre era in esecuzione, e ottenere un sacco di strani errori. – James