1

The title is pretty self explanatory. I don't why, but the code below:

import matplotlib.pyplot as plt

names = ['Distrito de Lisboa', 'Distrito do Porto', 'Distrito de Setúbal', 'Distrito de Braga', 'Distrito de Aveiro', 'Distrito de Leiria', 'Distrito de Santarém', 'Distrito de Faro', 'Distrito de Coimbra', 'Distrito de Viseu', 'R. A. Madeira', 'R. A. Açores', 'Distrito de Viana do Castelo', 'Distrito de Vila Real', 'Distrito de Castelo Branco', 'Distrito de Évora', 'Distrito da Guarda', 'Distrito de Beja', 'Distrito de Bragança', 'Distrito de Portalegre']
y_pos = [idx for idx, i in enumerate(names)]
pop = [2244984, 2027191, 849842, 848444, 714351, 470765, 454456, 450484, 429714, 378166, 267938, 246102, 244947, 207184, 195949, 167434, 160931, 152706, 136459, 118952]

figure = plt.figure(figsize=(12, 10))
plt.bar(y_pos, pop, align='edge', alpha=0.5, width=0.5)
plt.xticks(y_pos, names, size='small')
plt.xticks(rotation=35)
plt.ylabel('Population')
plt.title('Population by district')
figure.savefig("barchart.png",format="png")
plt.show()

Produces the following graph: enter image description here

As you can see the labels on x-axis, starting on the first, are not very well placed. Is there anyway to fix this?

Hula Hula
  • 553
  • 8
  • 20

0 Answers0