Matplotlib отображает неправильные значения (гистограмма) - PullRequest
0 голосов
/ 13 октября 2018

Я строю гистограмму, и некоторые значения не соответствуют числам в коде:

import numpy as np
import matplotlib.pyplot as plt

height_list = [0.001, 0.000464, 0.000464, 0.000215, 0.000215, 0.000215, 0.0001, 0.0001]
bottom_list = [2.15e-07, 2.15e-07, 4.64e-07, 4.64e-07, 1e-06, 1e-05, 4.64e-05, 9.5e-05]

plot = plt.bar(x=np.arange(5, 41, 5), height=height_list, width=2, bottom=bottom_list)
plt.yscale('log')
plt.show()

afew

- полученный график.Согласно входным данным, полоса от третьего до последнего должна совпадать с зеленой линией, а верхние концы двух последних полос должны совпадать с красной линией.Другие полосы отображаются правильно.Чем обусловлено это расхождение?

awfe

- это тот же график, что и гистограмма с теми же значениями высоты, но без нижних значений.В этом случае все значения отображаются правильно.

1 Ответ

0 голосов
/ 13 октября 2018

Сюжет правильный.plt.bar отображает столбец из bottom с определенным значением height, это означает, что верхняя часть ваших графиков находится на уровне + высота.

Что вводит вас в заблуждение, так это то, что для первых столбцов(слева), низ настолько низок, что не отражается сверху, поэтому мы имеем высоту ~ высоту.

...