Исходя из предоставленного вами фрагмента кода, этот фрагмент ниже должен достичь того, что вы хотите. Идея состоит в том, чтобы вручную указать местоположение бункеров, установить ширину каждой полосы и выровнять все по левому краю. Больше информации здесь .
import matplotlib.pyplot as plt
import numpy
columnList = []
for i in range(32):
columnList.append('Asia')
for i in range(58):
columnList.append('Europe')
for i in range(18):
columnList.append('North America')
for i in range(12):
columnList.append('Central or\nSouth America')
for i in range(7):
columnList.append('Australia or\nOceania')
n, bins, patches = plt.hist(x=columnList, bins=numpy.arange(6), rwidth=0.5,
align='left')
plt.grid(axis='y', alpha=0.75)
plt.xlabel('Continents')
plt.ylabel('Frequency')
plt.title('Continental Distribution of respondents')
plt.show()
