Próbuję wykreślić histogram z wykresem słupkowym i mam problemy z ustaleniem, jak wyrównać etykiety osi X z rzeczywistymi pojemnikami. Poniższy kod generuje następujący wykres: matplotlib: etykiety histogramu i bin
jak widać, koniec każdej etykiety x nie jest wyrównany do środka jego pojemnika. Sposób, w jaki o tym myślę: kiedy zastosuję obrót o 45 stopni, etykieta obraca się wokół jej geometrycznego środka. Zastanawiałem się, czy możliwe jest przesunięcie osi obrotu do góry etykiety. (Lub po prostu przetłumaczyć wszystkie etykiety lekko w lewo.)
import matplotlib.pyplot as plt
import numpy as np
#data
np.random.seed(42)
data = np.random.rand(5)
names = ['A:GBC_1233','C:WERT_423','A:LYD_342','B:SFS_23','D:KDE_2342']
ax = plt.subplot(111)
width=0.3
bins = map(lambda x: x-width/2,range(1,len(data)+1))
ax.bar(bins,data,width=width)
ax.set_xticks(map(lambda x: x, range(1,len(data)+1)))
ax.set_xticklabels(names,rotation=45)
plt.show()
genialny, dziękuję! – dimka