首页 > 解决方案 > Matplotlib.pyplot.bar 似乎产生不正确的结果

问题描述

我正在尝试在 matplotlib 中制作一个小条形图,但看起来有些不对劲:

import numpy as np
import matplotlib.pyplot as plt

bins = np.linspace(0, 1, 10) 

print(bins) # = [0. 0.11 0.22 0.33 0.44 0.55 0.66 0.77 0.88 1.]

plt.bar(bins, bins)

在此处输入图像描述

我希望两个轴上都有一个 0:1 的楼梯——我错过了什么吗?任何的意见都将会有帮助!

我在 matplotlib 3.0.3 上:

pip freeze | grep matplotlib
# returns matplotlib==3.0.3

标签: pythonmatplotlib

解决方案


当您这样做plt.bar时,条形宽度默认为(感谢@Cohan),因此条形相互重叠,正如您在最后一个条形的图片中看到的那样。1 0.8

收益率变化plt.bar(bins, bins, width=0.1)

在此处输入图像描述


推荐阅读