matplotlib绘制错误的值(条形图)

时间:2018-10-12 21:10:34

标签: python matplotlib plot bar-chart

我正在绘制条形图,某些值与代码中的数字不匹配:

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 :(得分:0)

情节是对的。 plt.barbottom开始绘制一个带有特定height的条形图,这意味着您的图表顶部位于底部+高度。

误导您的是,对于第一个条形图(位于左侧),底部是如此之低,以致于顶部没有反射,因此我们具有顶部〜高度。