Değişken uzunlukta etiketlerim var ve bunları sola hizalamak istiyorum (yani daha kısa olanlarla y ekseni arasında boşluk bırakmak). Bunu yapmanın makul bir yolu var mı? Yatay hizalamayı kullanmak 'sol' onları sola hizalar, ancak hepsi eksende başlar, böylece arsa içine girerler. Yani alternatif bir soru olabilir - başlangıç noktalarını değiştirebilir miyim? gösteri içinMatplotlib: Soldaki y işaretlerini hizalama
Kodu:
import numpy as np
import matplotlib.pyplot as plt
ticks = ["Lorem ipsum dolor sit amet, consectetur adipisicin", "g elit, sed do", "eiusmod tempor incididunt ut labo", "re et dolore magna ali", "qua. Ut en", "im ad minim veniam, quis nostr", "ud exercitation ullamco labo", "ris nisi ut aliquip ex ea c", "ommodo co", "nsequat. Duis aute irure dolor in rep"]
data = [5,1,2,4,1,4,5,2,1,5]
ind = np.arange(len(data))
fig = plt.figure()
ax = plt.subplot(111)
ax.barh(ind, data, 0.999)
ax.set_yticks(ind + 0.5)
r = ax.set_yticklabels(ticks)#, ha = 'left')
fig.set_size_inches(12, 8)
fig.savefig(r'C:\try.png', bbox_extra_artists=r, bbox_inches='tight')
+1 kullanışlı örnek kodu için! – tacaswell