examples - seaborn python
La configuraciĆ³n de Seaborn oculta matplotlib por defecto (5)
A partir de la versión 0.8 (julio de 2017), el estilo del gráfico ya no se modifica en la importación. El deseo de OP es ahora el comportamiento predeterminado. Desde https://seaborn.pydata.org/whatsnew.html :
El estilo predeterminado (nacido en el mar) ya no se aplica cuando se importa el transporte marítimo. Ahora es necesario llamar explícitamente a set () o uno o más de set_style (), set_context () y set_palette (). En consecuencia, el módulo seaborn.apionly ha quedado en desuso.
Puedes elegir el estilo de cualquier trama con plt.style.use ().
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use(''seaborn'')#switch to seaborn style
#plot code
plt.style.use(''default'')#switches back to matplotlib style
#plot code
#To see all available styles
print(plt.style.available)
Más sobre plt.style () here
Seaborn proporciona un puñado de gráficos que son muy interesantes para la representación de datos científicos. Así empecé a usar estos gráficos Seaborn intercalados con otros gráficos personalizados de matplotlib. El problema es que una vez lo hago:
import seaborn as sb
Parece que esta importación establece los parámetros gráficos para el mundo marino y luego todos los gráficos de matplotlib debajo de la importación obtienen los parámetros marinos (obtienen un fondo gris, líneas con cambios, etc.).
En SO hay una respuesta que explica cómo producir parcelas marinas con configuración matplotlib, pero lo que quiero es mantener los parámetros de configuración matplotlib inalterados cuando se usan ambas bibliotecas juntas y al mismo tiempo poder producir, cuando sea necesario, parcelas marinas originales.
Como se explica en esta otra pregunta , puede importar por mar con:
import seaborn.apionly as sns
Y los estilos matplotlib no serán modificados.
La función seaborn.reset_orig()
permite la restauración de todos los parámetros de RC a la configuración original (respecto a rc personalizado seaborn.reset_orig()
Puede usar la funcionalidad matplotlib.style.context
como se describe en la guía de estilo .
#%matplotlib inline #if used in jupyter notebook
import matplotlib.pyplot as plt
import seaborn as sns
# 1st plot
with plt.style.context("seaborn-dark"):
fig, ax = plt.subplots()
ax.plot([1,2,3], label="First plot (seaborn-dark)")
# 2nd plot
with plt.style.context("default"):
fig, ax = plt.subplots()
ax.plot([3,2,1], label="Second plot (matplotlib default)")
# 3rd plot
with plt.style.context("seaborn-darkgrid"):
fig, ax = plt.subplots()
ax.plot([2,3,1], label="Third plot (seaborn-darkgrid)")
Si nunca desea utilizar el estilo de seaborn
, pero desea algunas de las funciones de navegación marítima, puede importar el transporte marítimo utilizando la siguiente línea ( documentation ):
import seaborn.apionly as sns
Si desea producir algunas parcelas con el estilo seaborn
y otras sin el mismo guión, puede desactivar el estilo seaborn
utilizando la función seaborn.reset_orig
.
Parece que realizar la importación apionly
esencialmente establece reset_orig
automáticamente en la importación, por lo que depende de usted cuál es la más útil en su caso de uso.
Aquí hay un ejemplo de cambio entre los matplotlib
predeterminados de seaborn
y el de seaborn
:
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
# a simple plot function we can reuse (taken from the seaborn tutorial)
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 7):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
# this will have the matplotlib defaults
plt.savefig(''seaborn-off.png'')
plt.clf()
# now import seaborn
import seaborn as sns
sinplot()
# this will have the seaborn style
plt.savefig(''seaborn-on.png'')
plt.clf()
# reset rc params to defaults
sns.reset_orig()
sinplot()
# this should look the same as the first plot (seaborn-off.png)
plt.savefig(''seaborn-offagain.png'')
que produce las siguientes tres parcelas: