Jestem trochę zdezorientowany, jak działa ten kod:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Jak działa figura, osie w tym przypadku? Co to robi?
Poza tym, dlaczego nie działałoby to samo:
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
python
matplotlib
subplot
bugsyb
źródło
źródło
Odpowiedzi:
Można to zrobić na kilka sposobów.
subplots
Sposób tworzy postać wraz z wątków, które są przechowywane wax
tablicy. Na przykład:Jednak coś takiego również zadziała, ale nie jest tak „czyste”, ponieważ tworzysz figurę z polami cząstkowymi, a następnie dodajesz na nich:
źródło
plot(x, y)
tego mam wykres pochodzący z funkcji zdefiniowanej przez użytkownika, która tworzy wykres z networkx. Jak tego użyć?axn = ax.flatten()
a potemfor axes in axn: axes.plot(x,y)
źródło
ax
jest, ale nie wiem, co jestfig
. Czym oni są?matplotlib.figure.Figure
klasa, dzięki której można wykonać wiele manipulacji na wykreślonej figurze. na przykład możesz dodać pasek kolorów do określonego wykresu podrzędnego, możesz zmienić kolor tła wszystkich wykresów podrzędnych. możesz zmodyfikować układ tych działek lub dodać do nich nowy mały topór. najlepiej byłoby, gdybyś potrzebował jednego tytułu głównego dla wszystkich wątków pobocznych, które można uzyskać za pomocąfig.suptitle(title)
metody. wreszcie, gdy jesteś zadowolony z fabuły, możesz ją zapisaćfig.savefig
metodą. @LeevoMożesz także rozpakować osie w wywołaniu subplots
I określ, czy chcesz udostępniać osie x i y między wykresami podrzędnymi
Lubię to:
źródło
Możesz być zainteresowany faktem, że od wersji 2.1 matplotlib drugi kod z pytania działa również dobrze.
Z dziennika zmian :
Przykład:
źródło
przeczytaj dokumentację: matplotlib.pyplot.subplots
pyplot.subplots()
zwraca krotkę,fig, ax
która jest rozpakowywana na dwie zmienne przy użyciu notacjikod
nie działa, ponieważ
subplots()
jest funkcją, którapyplot
nie jest członkiem obiektuFigure
.źródło