Chciałbym utworzyć działki na 4 osiach, najpierw trzy indywidualne wykresy na każdej osi, a ostatnie wszystkie 3 działki na ostatnich osiach. Oto kod:Jak ponownie wykorzystać działki w 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()
Uzyskany obraz jest:
Czy istnieje sposób, aby określić działki, a następnie dodać je do osi, a następnie wykreślić je? Oto logika miałem na myśli:
#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]
Teraz działka line1 na AX1, line2 na ax2, line3 na AX3 i Line4 na AX4.
Ale co jest nie tak z ponownym wywoływaniem fabuły? Czy to powoduje pewien problem? – wim
@wim nie powoduje żadnych problemów w tym przypadku. Ale zawsze jestem sceptycznie nastawiony do kodu, jeśli potrzebuję użyć wklejania. Albo gdybym chciał na przykład wysłać wykresy linii do jakiejś funkcji, która rozmieszcza wątki w jakiś sposób na różnych osiach. – enedene
Zamiast tworzyć rysunek, a następnie dodawać podpunkty, możesz to zrobić w jednym wierszu: 'fix, ax = plt.subplots (2, 2)'. Wtedy "topór" to niezliczona tablica osi, więc możesz 'ax [0, 1] .plot (dane, dane ** 2/10, ls =' - ', kolor =' g ') ' – mmagnuski