Matplotlib - hər qutunu etiketləyin

Hal-hazırda bir histoqram yaratmaq üçün Matplotlib-dan istifadə edirəm:

enter image description here

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)

X ox etiketlərini biraz mənalı etmək istərdim.

Birincisi, x oxu gənələri burada beş gənə ilə məhdudlaşmış kimi görünür. Nə etsəm də, bunu dəyişə bilməyəcəyəm - daha çox xticklabel əlavə etsəm də, yalnız ilk beşdən istifadə edir. Matplotlib-in bunu necə hesabladığından əmin deyiləm, amma aralığından / verilərindən avtomatik hesablandığını düşünürəm?

x-tick etiketlərinin qətnaməsini artırmağın bir yolu varmı - hətta birinin nöqtəsinə hər bar / qutu üçün?

(İdeal olaraq, saniyələrin mikro saniyə / milli saniyədə yenidən formatlanmasını da istərdim, amma bu başqa bir gün üçün bir sualdır).

İkincisi,İstəyirəm etiketli hər fərdi çubuğu - həmin qutudakı həqiqi sayını və bütün qutuların cəminin faizini göstərməklə.

Yekun nəticə belə görünə bilər:

enter image description here

Matplotlib ilə belə bir şey mümkündürmü?

Alqışlar, Victor

64
задан victorhooi 15 June 2011 в 03:34
поделиться