我正在绘制条形图,某些值与代码中的数字不匹配:
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()
是结果图。 根据输入,倒数第二个横条应与绿线对齐,最后两个横条的顶端应与红线对齐。其他栏正确显示。是什么原因导致这种差异?
是与具有相同高度值但没有任何底值的条形图相同的图。在这一步中,所有值均正确显示。
答案 0 :(得分:0)
情节是对的。 plt.bar
从bottom
开始绘制一个带有特定height
的条形图,这意味着您的图表顶部位于底部+高度。
误导您的是,对于第一个条形图(位于左侧),底部是如此之低,以致于顶部没有反射,因此我们具有顶部〜高度。