Depende um pouco de qual função marítima você está usando.
As funções de plotagem no mar são amplamente divididas em duas classes
- Funções "de nível Machados", incluindo
regplot, boxplot, kdeplote muitos outros
- Funções de "nível Figura", incluindo
lmplot, factorplot, jointplote um ou dois outros
O primeiro grupo é identificado pegando um axargumento explícito e retornando um Axesobjeto. Como isso sugere, você pode usá-los em um estilo "orientado a objetos" passando seu Axespara eles:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
As funções no nível dos eixos apenas desenharão em um Axese não bagunçarão a figura de outra forma, para que possam coexistir perfeitamente em um script matplotlib orientado a objetos.
O segundo grupo de funções (nível de Figura) distingue-se pelo fato de que o enredo resultante pode potencialmente incluir vários Eixos que são sempre organizados de uma forma "significativa". Isso significa que as funções precisam ter controle total sobre a figura, de modo que não é possível plotar, digamos, uma lmplotsobre uma que já existe. Chamar a função sempre inicializa uma figura e a configura para o gráfico específico que está desenhando.
No entanto, depois de chamado lmplot, ele retornará um objeto do tipo FacetGrid. Este objeto possui alguns métodos para operar na trama resultante que conhecem um pouco sobre a estrutura da trama. Ele também expõe a figura subjacente e a matriz de eixos nos argumentos FacetGrid.fige FacetGrid.axes. A jointplotfunção é muito semelhante, mas usa um JointGridobjeto. Portanto, você ainda pode usar essas funções em um contexto orientado a objetos, mas toda a sua customização deve vir depois de você chamar a função.