Обычно гистограмма вычисляет, сколько из ее входного массива go в каждый из набора бинов. А затем создает гистограмму.
Поскольку у вас уже есть частоты, вы можете напрямую создать гистограмму с высотами по оси X и частотами по оси Y.
Чтобы получить частоты на 5, просто суммируйте 5 последующих высотных частот.
Вот код, иллюстрирующий понятия:
import matplotlib.pyplot as plt
min_height = 153
max_height = 191
height_freq = [1, 2, 2, 4, 5, 11, 52, 53, 113, 193, 292, 442, 550, 792, 983, 1311, 1553, 1735, 1949, 1974, 2082,
2031, 1852, 1591, 1416, 1142, 816, 729, 478, 333, 211, 125, 78, 49, 20, 15, 11, 2, 2]
fig, ax = plt.subplots(ncols=2, figsize=(12, 4))
heights = range(min_height, max_height + 1)
ax[0].bar(heights, height_freq, color='crimson', edgecolor='white')
ax[0].set_ylabel('height frequency')
heights_per_5 = range(min_height, max_height + 1, 5)
height_freq_per_5 = [sum(height_freq[h - min_height:h - min_height + 5]) for h in heights_per_5]
ax[1].bar(heights_per_5, height_freq_per_5, width=4.5, align='edge', color='limegreen', edgecolor='white')
ax[1].set_ylabel('height frequency (per 5 cm)')
plt.show()