Je trace deux séries de données avec Pandas avec seaborn importé. Idéalement, je voudrais que les lignes de grille horizontales soient partagées entre les axes gauche et droit, mais j'ai l'impression que C'est difficile à faire.
En guise de compromis, je voudrais supprimer les lignes de la grille tous ensemble. Le code suivant produit cependant les quadrillages horizontaux pour l'axe Y secondaire.
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)
Vous pouvez retirer l'objet Axes après le traçage et exécuter .grid(False)
sur les deux axes.
# 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})
Notez que le style peut être celui que vous choisissez.
Pour un article sympa à ce sujet, reportez-vous à ce site .
Le problème est avec l'utilisation du format par défaut pandas (ou quel que soit le format que vous ayez choisi). Vous ne savez pas comment les choses fonctionnent en arrière-plan, mais ces paramètres remplacent le format que vous passez comme dans la fonction de tracé Vous pouvez en voir une liste ici dans le dictionnaire mpl_style
Pour le contourner, vous pouvez le faire:
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'])
Cela ressemble à un comportement bogué dans Pandas, tous les arguments de mots clés n'étant pas transmis aux deux axes. Mais si vous voulez désactiver la grille par défaut dans seaborn, il vous suffit d'appeler sns.set_style("dark")
. Vous pouvez aussi utiliser sns.axes_style
dans une instruction with
si vous ne souhaitez modifier la valeur par défaut que pour un chiffre.