J'essaie de tracer un graphique log-log qui montre des lignes de grille espacées logarithmiquement à toutes les graduations que vous voyez le long du bas et du côté gauche de l'intrigue. J'ai pu montrer certains quadrillages en utilisant matplotlib.pyplot.grid(True)
, mais cela ne montre que les quadrillages pour moi à une puissance de 10 intervalles. Donc, à titre d'exemple, voici ce que je reçois actuellement:
J'aimerais vraiment quelque chose avec des lignes de grille ressemblant davantage à ceci, où les lignes de grille ne sont pas toutes également espacées:
Comment pourrais-je y parvenir dans Matplotlib?
Fondamentalement, il vous suffit de mettre le paramètre which="both"
Dans la commande grid pour qu'il devienne:
matplotlib.pyplot.grid(True, which="both")
D'autres options sont "mineures" et "majeures" qui sont les graduations majeures (qui sont affichées dans votre graphique) et les graduations mineures qui vous manquent. Si vous voulez des lignes pleines, vous pouvez également utiliser ls="-"
Comme paramètre pour grid()
.
Voici un exemple de coups de pied:
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(0,100,.5)
y = 2*x**3
plt.loglog(x,y)
plt.grid(True,which="both",ls="-")
plt.show()
qui génère:
Comme le dit @Bryce, sur ma machine, le kwarg correct est majorminor
. Je pense que les lignes pleines avec une couleur plus claire peuvent être meilleures que les lignes pointillées.
plt.grid(True,which="majorminor",ls="-", color='0.65')
travaille pour moi.