Python 如何在柱状图中使用浮点数表示箱子大小?

Python 如何在柱状图中使用浮点数表示箱子大小?,python,python-3.x,matplotlib,histogram,Python,Python 3.x,Matplotlib,Histogram,我有一个列表,我想用Python制作一个柱状图,使用0.01的bin大小: plt.hist(list, bins = 0.01) 我一直收到一个类型错误,说bin只能是整数、字符串或数组。在Python中是否可以使用一个浮点值来绘制一个柱状图?首先,不要用具有特殊含义的单词来命名变量。名为list的变量阻止在代码中进一步使用list命令 参数可以是单个数字,在这种情况下,它被解释为存储箱的数量。所以,它必须是一个严格的正整数。如果要设置特定的箱子尺寸,则需要提供所需箱子边缘的完整列表。最简单

我有一个列表,我想用Python制作一个柱状图,使用0.01的bin大小:

plt.hist(list, bins = 0.01)

我一直收到一个类型错误,说bin只能是整数、字符串或数组。在Python中是否可以使用一个浮点值来绘制一个柱状图?

首先,不要用具有特殊含义的单词来命名变量。名为
list
的变量阻止在代码中进一步使用
list
命令

参数可以是单个数字,在这种情况下,它被解释为存储箱的数量。所以,它必须是一个严格的正整数。如果要设置特定的箱子尺寸,则需要提供所需箱子边缘的完整列表。最简单的方法是使用np.arange(开始、停止、步骤)

导入matplotlib.pyplot作为plt
将numpy作为np导入
mylist=np.random.randn(1000)/10
plt.hist(mylist,bin=np.arange(min(mylist),max(mylist)+0.01,step=0.01),color='翠绿色')

如果最小值不是一个好的整数,
np.arange
将遵循该模式。要获得箱子边缘的“良好”值,可以将
np.arange
start
四舍五入。例如:

导入matplotlib.pyplot作为plt
将numpy作为np导入
mylist=np.random.randn(101000).cumsum(axis=1).ravel()/500
阶跃=0.01
开始=np.地板(最小(mylist)/步数)*步数
停止=最大值(mylist)+步长
bin_边=np.arange(开始、停止、步骤=步骤)
plt.hist(mylist,bin=bin_边,颜色为深红色,ec为白色)
plt.xticks(箱边,旋转=90)
plt.紧_布局()
plt.show()


PS:请注意,seaborn支持的参数比matplotlib的
plt.hist
多得多
sns.histplot
可以选择
binwidth
和/或
binrange
,但也可以选择不同类型的统计信息。

感谢您的帮助!如果这回答了你的问题,你可以考虑答案。