Question

Quand je tracer des données échantillonnées par mois avec des barres, leur largeur est très mince. Si je mets X axe localisateur mineur DayLocator (), je peux voir les barres largeur est ajustée à 1 jour, mais je les aime remplir un mois entier.

J'ai essayé de régler le localisateur mineur à tiques MonthLocator () sans effet.

[modifier]

Peut-être un exemple sera plus explicite, voici un exemple de ipython -pylab de ce que je veux dire:

x = [datetime.datetime(2008, 1, 1, 0, 0),
    datetime.datetime(2008, 2, 1, 0, 0),
    datetime.datetime(2008, 3, 1, 0, 0),
    datetime.datetime(2008, 4, 1, 0, 0),
    datetime.datetime(2008, 5, 1, 0, 0),
    datetime.datetime(2008, 6, 1, 0, 0),
    datetime.datetime(2008, 7, 1, 0, 0),
    datetime.datetime(2008, 8, 1, 0, 0),
    datetime.datetime(2008, 9, 1, 0, 0),
    datetime.datetime(2008, 10, 1, 0, 0),
    datetime.datetime(2008, 11, 1, 0, 0),
    datetime.datetime(2008, 12, 1, 0, 0)]

y = cos(numpy.arange(12) * 2)

bar(x, y)

Cela donne 12 2 pixels de large barres, je les aime d'être plus large et de prolonger de mois en mois.

Était-ce utile?

La solution

Il suffit d'utiliser l'argument de mot-clé width:

bar(x, y, width=30)

Ou, depuis plusieurs mois ont un nombre différent de jours, pour le faire paraître bien vous pouvez utiliser une séquence:

bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30])
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top