With the code below I have two issues:
I don't know why the first bar is so far way from y-axis, and i would like to be closer, much closer.
the space between bars seens like it isnt enought, and the labels are all at the top of each other.
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] plt.figure(figsize=(15, 15)) plt.bar(y_pos, pop, align='center', alpha=0.5, width=0.3) plt.xticks(y_pos, names, size='small') plt.ylabel('Population') plt.title('Population by district') plt.show()