Je suis actuellement à l'aide de Matplotlib pour créer un histogramme:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as pyplot
...
fig = pyplot.figure()
ax = fig.add_subplot(1,1,1,)
n, bins, patches = ax.hist(measurements, bins=50, range=(graph_minimum, graph_maximum), histtype='bar')
#ax.set_xticklabels([n], rotation='vertical')
for patch in patches:
patch.set_facecolor('r')
pyplot.title('Spam and Ham')
pyplot.xlabel('Time (in seconds)')
pyplot.ylabel('Bits of Ham')
pyplot.savefig(output_filename)
Je voudrais faire le x-étiquettes de l'axe un peu plus de sens.
Tout d'abord, l'axe des x tiques ici semblent être limités à cinq tiques. Peu importe ce que je fais, je n'arrive pas à changer cela - même si je peux ajouter plus de xticklabels, il utilise seulement les cinq premiers. Je ne suis pas sûr de savoir comment Matplotlib calcule cela, mais je suppose que c'est de l'auto-calculée à partir de la gamme/données?
Est-il possible que je peux augmenter la résolution de x-étiquettes de graduation , au point même d'un pour chaque bar/bin?
(Idéalement, j'aimerais aussi l'secondes pour être reformaté en micro-secondes/milli-secondes, mais c'est une question pour un autre jour).
Deuxièmement, j'aimerais que chaque barre marqué - avec le nombre réel de ce bac ainsi que le pourcentage du total de toutes les cellules.
Le résultat final devrait ressembler à quelque chose comme ceci:
C'est quelque chose comme que possible avec Matplotlib?
Cheers, Victor