d = np.array([[101.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [92.0, 3.0, 0.0, 4.0, 
    5.0, 6.0, 0.0], [56.0, 7.0, 8.0, 9.0, 23.0, 4.0, 5.0], [81.0, 2.0, 4.0,
    5.0, 32.0, 33.0, 4.0], [0.0, 45.0, 2.0, 3.0, 45.0, 67.0, 8.0], [99.0, 
    5.0, 0.0, 0.0, 0.0, 43.0, 56.0]])
d_heights = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
d_widths = [0.5, 1.0, 3.0, 2.0, 1.0, 2.0]
d_labels = ['fred', 'julie', 'sam', 'peter', 'rob', 'baz']
d_colors = ['#2166ac', '#fee090', '#fdbb84', '#fc8d59', '#e34a33',
    '#b30000', '#777777']
Более эффективная гистограмма с накоплением matplotlib - как рассчитать нижние значения