Comment faire pour forcer l'axe des Y pour utiliser uniquement des entiers dans Matplotlib?
Je suis tracer un histogramme à l'aide du matplotlib.pyplot module et je me demande comment je peux forcer l'axe des y des étiquettes pour ne montrer que les entiers (par exemple 0, 1, 2, 3, etc.) et pas de décimales (p. ex. 0., 0.5, 1., 1.5, 2. etc.).
Je suis en train de regarder les notes d'orientation et suspect que la réponse se trouve quelque part autour de matplotlib.pyplot.ylim mais jusqu'à présent, je ne peux que trouver des trucs qui fixe le minimum et le maximum des valeurs de l'axe y.
def doMakeChart(item, x):
if len(x)==1:
return
filename = "C:\Users\me\maxbyte3\charts\\"
bins=logspace(0.1, 10, 100)
plt.hist(x, bins=bins, facecolor='green', alpha=0.75)
plt.gca().set_xscale("log")
plt.xlabel('Size (Bytes)')
plt.ylabel('Count')
plt.suptitle(r'Normal Distribution for Set of Files')
plt.title('Reference PUID: %s' % item)
plt.grid(True)
plt.savefig(filename + item + '.png')
plt.clf()
- Dupliquer: stackoverflow.com/questions/11258212/...
Vous devez vous connecter pour publier un commentaire.
Si vous avez l'axe des données
Vous pouvez utiliser les valeurs minimale et maximale de ces données pour créer une liste de nombres naturels dans cette gamme. Par exemple,
rendements
Vous pouvez ensuite définir la y coche les sites (et étiquettes) à l'aide de matplotlib.pyplot.yticks:
matplotlib.pyplot.yticks
documentation (avez-vous lu ce) le premier extrait de code estlocs, labels = yticks()
.get_view_interval()
est Ī suppose que la méthode pour atteindre les limites, mais je n'ai aucune idée de la docs comment vous lien qui appellent à l'axe y du graphique en question.yLimits = matplotlib.pyplot.yticks(get_view_interval())
?import matplotlib.pyplot as plt
puislocs, labels = plt.yticks()
sera de retour l'actuel valeurs de y de les étiquettes d'axe danslocs
et les étiquettes associées à ces valeurs danslabels
. Remarque,plt.yticks
obtient les étiquettes de la trame actuelle. Si vous avez une poignée pour une parcelle, vous pouvez (je pense) l'utilisationhandle.yticks
.Ici est une autre façon:
cela fonctionne pour moi:
for
boucle:last=yint[-1]+1
etyint.append(last)