Matplotlib некорректно отображаются данные на графике

Вот пример кода на python, почему на графике данные отображаются в координатах от 0.5 до 1.0, хотя например первый бар должен рисовать от 0.5002 до 0.5047, может быть надо указывать точность 4 (количество знаков после запятой), но как это сделать?

fig, ax = plt.subplots()

x = [0, 1, 2, 3, 4]

height = [0.5047, 0.4999, 0.4985, 0.4999, 0.4987]

bottom = [0.5002, 0.4969, 0.4956, 0.4969, 0.4967]

ax.set_ylim(0, 2)

ax.bar(x=x, height=height, width=0.2, bottom=bottom)

plt.show()

Вывод


Ответы (1 шт):

Автор решения: Michael
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = [0, 1, 2, 3, 4]

high = [0.5047, 0.4999, 0.4985, 0.4999, 0.4987]

bottom = [0.5002, 0.4969, 0.4956, 0.4969, 0.4967]

height = [high[i]-bottom[i] for i in range(len(bottom)) ]

ax.bar(x=x, height=height, width=0.2, bottom=bottom)

plt.show()
→ Ссылка