web-dev-qa-db-fra.com

Python matplotlib n'affiche que les lignes de maillage majeures horizontales et mineures verticales

Je veux tracer les principales lignes de la grille de l'axe des y (lignes de grille horizontales) mais je ne veux pas tracer les principales lignes de la grille verticales (de l'axe des x). Au lieu de cela, je veux tracer des lignes de grille mineures verticales.

Comment puis-je faire ceci?

Le code ax.grid(which='major', linewidth=0) masque les lignes de quadrillage verticales et horizontales principales ...

Je vous remercie!

11
ragesz

Les propriétés du quadrillage peuvent être définies indépendamment par ax.xaxis.grid() et ax.yaxis.grid().
Afin d'activer les lignes de grille mineures, vous devez d'abord spécifier un localisateur pour elles.

import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator

fig, ax = plt.subplots(figsize=(5,3))

ax.yaxis.grid(which="major", color='r', linestyle='-', linewidth=2)

ml = MultipleLocator(0.02)
ax.xaxis.set_minor_locator(ml)
ax.xaxis.grid(which="minor", color='k', linestyle='-.', linewidth=0.7)

plt.show()

enter image description here

17