Comment faire pour modifier l'espacement entre les tiques dans matplotlib?

Je veux tracer un graphique avec beaucoup de tiques sur l'axe des X en utilisant le code suivant:

import pylab

N = 100
data = pylab.np.linspace(0, N, N)

pylab.plot(data)

pylab.xticks(range(N)) # add loads of ticks
pylab.grid()
pylab.tight_layout()
pylab.show()

pylab.close()

L'résultant de l'intrigue ressemble à ceci:

Comment faire pour modifier l'espacement entre les tiques dans matplotlib?

Comme vous pouvez le voir, l'axe X est un gâchis parce que les étiquettes de graduation sont tracées, avec trop peu d'espace entre eux ou même chevauchement.

Je voudrais créer constante de l'espace entre chaque tick label automatiquement, peu importe le nombre de tiques. Donc, j'aimerais augmenter l'espace entre les tiques, ce qui augmente potentiellement la "longueur" d'un complot.

Noter que les étiquettes de graduation peut être chaînes de caractères de longueur variable.

Ce que j'ai trouvé pour l'instant est tout au sujet de l'espacement entre l'axe et les étiquettes (ce qui n'est pas ce que je veux), tique de la fréquence (qui je peux déjà le faire) et de cochez les paramètres (qui ne semblent pas avoir toutes les options d'espacement).

Je peux changer la taille d'une figure manuellement avec matplotlib.pyplot.figure(figsize=(a, b)), mais qui nécessiterait la connaissance de la valeur par défaut de l'espacement entre les tiques (il n'y a rien, autant que je puis dire) et la plus grande largeur (en pouces) d'une étiquette de graduation, je n'en ai pas la moindre idée de comment mesurer, donc ce n'est pas une option, à mon avis.

Que puis-je faire pour augmenter l'espacement entre les tiques? Je suis OK avec l'obtention d'une très longue durée de l'image.

C'est la façon dont matplotlib œuvres. Vous créez une figure de taille donnée et de mettre l'intrigue en elle. Si il y a plus d'étiquettes, ils vont se chevaucher. Vous pouvez bien sûr changer la figure de la taille après la création; l'espace la plus longue de la marque, se multiplient avec le nombre d'étiquettes, ajouter la marge et comme la nouvelle figure de la taille. C'est plutôt une procédure compliquée, donc je ne sais pas si c'est vraiment ce que vous voulez.
Je parle dans le dernier paragraphe, et cela semble effectivement très dur à faire, étant donné que je ne sais pas comment calculer l'espace la plus longue de la marque... j'espère qu'il y a quelques tour de nice à le faire.
Oui, c'est mon point de vue. Donc apparenty vous exclure la seule solution possible. Aimeriez-vous aller dans cette voie ou pas? Je suppose que vous pouvez demander de l'aide le long de cette ligne, au lieu de l'exclusion de l'option.

OriginalL'auteur ForceBru | 2017-07-01