To zależy w pewnym stopniu od tego, której funkcji morskiej używasz.
Funkcje kreślenia u labornów można zasadniczo podzielić na dwie klasy
- Funkcje „Topory-level”, w tym
regplot, boxplot, kdeplot, i wiele innych
- Rysunek funkcje „poziom”, w tym
lmplot, factorplot, jointploti jeden lub dwa pozostałe
Pierwsza grupa jest identyfikowana poprzez przyjęcie jawnego axargumentu i zwrócenie Axesobiektu. Jak to sugeruje, możesz ich używać w stylu „obiektowym”, przekazując Axesim:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Funkcje na poziomie osi będą rysować tylko na an Axesi nie będą z nim mieszać, więc mogą doskonale współistnieć w skrypcie zorientowanym obiektowo matplotlib.
Drugą grupę funkcji (na poziomie rysunku) wyróżnia fakt, że wynikowy wykres może potencjalnie zawierać kilka osi, które są zawsze zorganizowane w „znaczący” sposób. Oznacza to, że funkcje muszą mieć całkowitą kontrolę nad figurą, więc nie jest możliwe wykreślenie, powiedzmy, lmplotna już istniejącą. Wywołanie funkcji zawsze inicjuje figurę i ustawia ją dla określonego wykresu, który rysuje.
Jednak po wywołaniu lmplotzwróci obiekt tego typu FacetGrid. Ten obiekt ma kilka metod działania na wynikowej działce, które trochę wiedzą o strukturze działki. Ujawnia również podstawową figurę i tablicę osi w argumentach FacetGrid.figi FacetGrid.axes. jointplotFunkcja jest bardzo podobny, ale używa się JointGridobiektu. Możesz więc nadal używać tych funkcji w kontekście obiektowym, ale wszystkie dostosowania muszą nastąpić po wywołaniu funkcji.