Prefiero usar matplotliben estilo OOP:
f, axarr = plt.subplots(2, sharex=True)
axarr[0].plot(...)
axarr[1].plot(...)
Esto facilita el seguimiento de varias figuras y subtramas.
Pregunta: ¿Cómo usar seaborn de esta manera? O, ¿cómo cambiar este ejemplo al estilo OOP? ¿Cómo distinguir seabornfunciones de trazado como a lmplotcuál Figureo Axesa?
python
oop
matplotlib
seaborn
Llama congelada
fuente
fuente

Respuestas:
Depende un poco de qué función seaborn esté utilizando.
Las funciones de trazado en seaborn se dividen ampliamente en dos clases
regplot,boxplot,kdeplot, y muchos otroslmplot,factorplot,jointploty uno o dos otrosEl primer grupo se identifica tomando un
axargumento explícito y devolviendo unAxesobjeto. Como sugiere esto, puede usarlos en un estilo "orientado a objetos" pasándoles suAxes:Las funciones de nivel de ejes solo se dibujarán en una
Axesfigura y no se enredarán con la figura, por lo que pueden coexistir perfectamente y felizmente en un script matplotlib orientado a objetos.El segundo grupo de funciones (nivel de figura) se distingue por el hecho de que la gráfica resultante puede incluir potencialmente varios ejes que siempre están organizados de una manera "significativa". Eso significa que las funciones deben tener un control total sobre la figura, por lo que no es posible trazar, digamos, una
lmplotsobre una que ya existe. Llamar a la función siempre inicializa una figura y la configura para el gráfico específico que está dibujando.Sin embargo, una vez que haya llamado
lmplot, devolverá un objeto del tipoFacetGrid. Este objeto tiene algunos métodos para operar en la trama resultante que conocen un poco sobre la estructura de la trama. También expone la figura subyacente y la matriz de ejes en los argumentosFacetGrid.figyFacetGrid.axes. Lajointplotfunción es muy similar, pero usa unJointGridobjeto. Por lo tanto, aún puede usar estas funciones en un contexto orientado a objetos, pero toda su personalización debe realizarse después de haber llamado a la función.fuente