2016-06-14 1 views
4

J'essaie de contrôler le nombre de graduations sur mes graphiques à l'aide des paramètres de localisation. Je veux un graphique qui a cinq lignes verticales plus les deux bords des graphiques (soit 7 valeurs totales sur les axes x et y).Modification du nombre de graduations à l'aide des paramètres de localisation dans matplotlib

J'ai utilisé les paramètres de localisation et j'ai essayé de définir nbins = 7, mais cela ne fonctionne pas. Sauf si j'utilise des valeurs extrêmes, comme nbins = 12 ou nbins = 3, rien ne change sur mes graphiques et je ne comprends pas pourquoi.

Voici mon code:

gs1 = gridspec.GridSpec(3,3) 
    ax6 = plt.subplot(gs1[-1,-1]) 
    q=np.arange(79.9,80.1,1e-4) 
    ax6.plot(q, np.exp(-((q-80)**2)/(2*sig_gauss[2]**2)),'k') 
    ax6.grid() 
    ax6.locator_params(axis = 'y',nbins=7) 
    ax6.locator_params(axis = 'x',nbins=7) 
    ax6.set_xlim(79.9,80.1) 

Je ne comprends pas pourquoi changer le nombre de nbins ne fonctionne que parfois.

+0

Si quelqu'un est intéressé à connaître la réponse, j'ai trouvé un moyen qui fonctionne. en utilisant np.lispace crée le bon nombre de cases. J'ai utilisé ax6.set_yticks (np.linspace (0,1,7)) – pelkat

+0

Vous pouvez répondre à votre propre question. Si vous développez votre commentaire dans une réponse, vous pouvez obtenir des upvotes. – TheEspinosa

Répondre

0

Si quelqu'un est intéressé à connaître la réponse, j'ai trouvé un moyen qui fonctionne. en utilisant np.lispace crée le bon nombre de bacs. J'ai utilisé

ax6.set_yticks(np.linspace(0,1,7)) 
+0

La partie clé de la suggestion était "Si vous * développez * votre commentaire dans une réponse ..." Peut-être un lien vers la documentation pertinente, ou une explication de pourquoi cela a fonctionné pour vous. – miken32