Estilos ggplot en Python

Cuando miro el estilo de trazado en la documentación de Pandas , los diagtwigs se ven diferentes del predeterminado. Parece imitar el ggplot “look and feel”.

Lo mismo con el paquete del mar .

¿Cómo puedo cargar ese estilo? (incluso si no estoy usando un cuaderno?)

Actualización: si tiene matplotlib> = 1.4, hay un nuevo módulo de style que tiene un estilo ggplot por defecto. Para activar esto, use:

 from matplotlib import pyplot as plt plt.style.use('ggplot') 

Para ver todos los estilos disponibles, puede verificar plt.style.available .


Del mismo modo, para el estilo marino puedes hacer:

 plt.style.use('seaborn-white') 

O bien, puede utilizar la maquinaria propia de seaborn para configurar el estilo:

 import seaborn as sns sns.set() 

La función set() tiene más opciones para seleccionar un estilo específico (ver docs ). Tenga en cuenta que previamente, seaborn hizo lo anterior automáticamente en la importación, pero con las últimas versiones (> = 0.8) esto ya no es el caso.


Si realmente también desea una syntax similar a ggplot en Python (y no solo el estilo), eche un vistazo al paquete plotnine , que es una gramática de implementación de gráficos en Python con una syntax muy similar a ggplot2 de R.


Nota: la respuesta anterior mencionada para hacer pd.options.display.mpl_style = 'default' . Sin embargo, esto fue desaprobado en pandas en favor del estilo de plt.style(..) usando plt.style(..) , y mientras tanto esta funcionalidad incluso se elimina de los pandas.

Para los temas en python-ggplot, puedes usarlos con otros gráficos:

 from ggplot import theme_gray theme = theme_gray() with mpl.rc_context(): mpl.rcParams.update(theme.get_rcParams()) # plotting commands here for ax in plt.gcf().axes: theme.post_plot_callback(ax) 

Si necesitas ver los estilos disponibles:

 import matplotlib.pyplot as plt print(plt.style.available) 

Esto imprimirá los estilos disponibles.

Y usa este enlace para seleccionar el estilo que prefieras.

https://tonysyu.github.io/raw_content/matplotlib-style-gallery/gallery.html

La respuesta de Jan Katins es buena, pero el proyecto python-ggplot parece haberse vuelto inactivo. El proyecto plotnine está más desarrollado y es compatible con una solución análoga, pero superficialmente diferente:

 from plotnine import theme_bw import matplotlib as mpl theme = theme_bw() with mpl.rc_context(): mpl.rcParams.update(theme.rcParams) 

Si bien creo que la respuesta de joris es una mejor solución, ya que estás usando Pandas, se debe mencionar que Matplotlib puede configurarse para imitar ggplot al emitir el comando matplotlib.style.use('ggplot') .

Ver ejemplos en la galería de matplotlib .