Это может быть немного суетливо, но вы можете настроить почти все, когда у вас есть правильные аргументы. Основные проблемы, похоже, заключаются в правильном bins
и установке базовой ширины с помощью rwidth
.
Может быть, это ближе к тому, на что вы надеетесь:
import matplotlib.pyplot as plt
plt.title('Histogram Grades')
data = [1, 3, 10, 8, 9, 5, 3, 7, 7, 3, 1, 3, 10, 8, 9, 5, 3, 7, 7, 3, 2]
plt.hist(data, rwidth=.8, bins=np.arange(min(data), max(data)+2) - 0.5)
plt.xticks(np.arange(min(data), max(data)+1, 1.0))
plt.ylabel('Count')
plt.show()