Mi piacerebbe realizzare grafici su 4 assi, i primi tre grafici individuali su ciascun asse e gli ultimi 3 grafici sugli ultimi assi. ecco il codice:Come riutilizzare i grafici in matplotlib?
from numpy import *
from matplotlib.pyplot import *
fig=figure()
data=arange(0,10,0.01)
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)
line1=ax1.plot(data,data)
line2=ax2.plot(data, data**2/10, ls='--', color='green')
line3=ax3.plot(data, np.sin(data), color='red')
#could I somehow use previous plots, instead recreating them all?
line4=ax4.plot(data,data)
line4=ax4.plot(data, data**2/10, ls='--', color='green')
line4=ax4.plot(data, np.sin(data), color='red')
show()
L'immagine risultante è:
C'è un modo per definire trame e poi aggiungerli agli assi, e poi li trama? Ecco la logica che avevo in mente:
#this is just an example, implementation can be different
line1=plot(data, data)
line2=plot(data, data**2/10, ls='--', color='green')
line3=plot(data, np.sin(data), color='red')
line4=[line1, line2, line3]
Ora trama Linea1 sulla ax1, line2 su AX2, line3 su ax3 e line4 su AX4.
Ma cosa c'è di sbagliato nel chiamare di nuovo la trama? Ciò sta causando qualche problema? – wim
@wim non sta causando alcun problema in questo caso. Ma sono sempre scettico riguardo al codice se ho bisogno di usare copia incolla. O se volevo ad esempio inviare un plot di linee ad una funzione che organizza i grafici in qualche modo su diversi assi. – enedene
Invece di creare figure, e quindi aggiungere sottotrame, è possibile farlo in una riga: 'fix, ax = plt.subplots (2, 2)'. Quindi 'ax' è una matrice numerica di assi in modo da poter' ax [0, 1] .plot (dati, dati ** 2/10, ls = '-', color = 'g') ' – mmagnuski