multiple histograms distplot density barplot python matplotlib pandas plot seaborn

python - histograms - seaborn histogram



Cómo deshacerse de las líneas de la cuadrícula al trazar con Seaborn+Pandas con secondary_y (4)

Estoy trazando dos series de datos con Pandas con importados de mar. Idealmente, me gustaría que las líneas de la cuadrícula horizontal se compartan entre el eje y el eje izquierdo y derecho, pero tengo la impresión de que esto es difícil de hacer.

Como compromiso, me gustaría eliminar las líneas de la cuadrícula todos juntos. Sin embargo, el siguiente código produce las líneas de cuadrícula horizontales para el eje y secundario.

import pandas as pd import numpy as np import seaborn as sns data = pd.DataFrame(np.cumsum(np.random.normal(size=(100,2)),axis=0),columns=[''A'',''B'']) data.plot(secondary_y=[''B''],grid=False)


El problema es con el uso del formato de pandas predeterminado (o el formato que elija). No estoy seguro de cómo funcionan las cosas detrás de escena, pero estos parámetros están eliminando el formato que se pasa como en la función de trazado. Puedes ver una lista de ellos aquí en el diccionario mpl_style

Para evitarlo, puedes hacer esto:

import pandas as pd pd.options.display.mpl_style = ''default'' new_style = {''grid'': False} matplotlib.rc(''axes'', **new_style) data = pd.DataFrame(np.cumsum(np.random.normal(size=(100,2)),axis=0),columns=[''A'',''B'']) data.plot(secondary_y=[''B''])


Esto se siente como un comportamiento defectuoso en Pandas, ya que no todos los argumentos de palabras clave se pasan a ambos ejes. Pero si desea desactivar la cuadrícula de forma predeterminada en dispositivos marítimos, solo debe llamar a sns.set_style("dark") . También puede usar sns.axes_style en una declaración with si solo desea cambiar el valor predeterminado para una figura.


Puede eliminar el objeto Ejes después de trazar y realizar .grid(False) en ambos ejes.

# Gets the axes object out after plotting ax = data.plot(...) # Turns off grid on the left Axis. ax.grid(False) # Turns off grid on the secondary (right) Axis. ax.right_ax(False)


sns.set_style("whitegrid", {''axes.grid'' : False})

Tenga en cuenta que el estilo puede ser el que sea válido que elija.

Para un buen artículo sobre esto, consulte este sitio .