Вы можете изменить xlim
s. С категориальным индексом позиции x внутренне нумеруются как 0, 1, ...
. Matplotlib добавляет отступы по умолчанию 5% с каждой стороны, что слишком мало, когда есть только две полосы. При желании вы также можете изменить ylim
, чтобы освободить немного больше места для текста в верхней части панели:
from matplotlib import pyplot as plt
gender = ['M', 'F']
numbers = [1644, 1771]
bars = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)
for x, y in zip(gender, numbers):
plt.text(x, y, f'{y}\n', ha='center', va='center')
plt.xlim(-0.9, len(gender) - 1 + 0.9)
plt.ylim(0, max(numbers) * 1.1)
plt.show()
пример сюжета