web-dev-qa-db-fra.com

Ajouter des lignes de grille mineures au tracé matplotlib en utilisant Seaborn

Je suis un fan du package Seaborn pour faire des parcelles de Nice à l'aide de Matplotlib. Mais je n'arrive pas à comprendre comment afficher des lignes de grille mineures dans mes parcelles.

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sbn

x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

fig, ax = plt.subplots(1, 1)
ax.scatter(x, y)

ax.grid(b=True, which='major')
ax.grid(b=True, which='minor')

donne:

enter image description here

Des pensées ici? Aussi des réflexions sur la façon d'ajuster le style des quadrillages Seaborn qui apparaissent ... en particulier, j'aimerais les rendre plus étroits.

23
8one6

En conclusion, en combinant la réponse de CT Zhu avec l'indice de tcaswell:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sbn

x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

fig, ax = plt.subplots(1, 1)

ax.scatter(x, y)
ax.get_xaxis().set_minor_locator(mpl.ticker.AutoMinorLocator())
ax.get_yaxis().set_minor_locator(mpl.ticker.AutoMinorLocator())
ax.grid(b=True, which='major', color='w', linewidth=1.0)
ax.grid(b=True, which='minor', color='w', linewidth=0.5)

enter image description here

32
8one6

En effet, les graduations mineures ne sont pas encore définies, nous devons donc ajouter par exemple:

ax.set_xticks(np.arange(0,8)-0.5, minor=True)
ax.set_yticks([-1.25, -0.75, -0.25,0.24,0.75,1.25], minor=True)

enter image description here

7
CT Zhu