箱子绘制直方图的作用是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了箱子绘制直方图的作用是什么?相关的知识,希望对你有一定的参考价值。
我想绘制直方图。当我用bins=80
或auto
绘制它时,我的代码正常工作。但是当我尝试用bins=100
绘制它时。它不能给我这个错误:
"{!r} is not a valid estimator for `bins`".format(bin_name))
ValueError: '100' is not a valid estimator for `bins`
这是我的代码:
import matplotlib.pyplot as plt
x= [81.70900202536467, 81.69066539803865, 81.9634647036723, 81.6886583191991, 81.70063595809025, 81.71279936786232, 81.6846428541525]
plt.hist(x,bins='100')
plt.hist(x)
plt.show()
带直方图的箱子有什么作用?如何为我的数据选择合适的箱值?
答案
Bins是数据将聚合计数的组数。例如,如果您有数字1,1,2,3,5,6,6,并且您想要3个分箱,则在直方图中会得到三列(绑定):
Column 1: [1,1,2] <=2 (value 3)
Column 2: 2<[3]<=3 (value 1)
Column 3: 3<[5,6,6]<=6 (value 3)
当您在bins参数中使用字符串时,该函数需要以下值之一:'auto','sturges','fd','doane','scott','rice','sturges'或'sqrt'。如果你想要100个垃圾箱,你应该提供一个int。
您可以参考Wikipedia了解有关直方图箱或matplotlib docs的更多信息,以了解直方图功能。
另一答案
设置bins=100
,其中值是整数,而不是您拥有的字符串。这些垃圾箱是您的数据将被分类到多少组。在您的示例中,您只有7个元素,因此将这些元素分组为100个区域是没有意义的。但如果这只是你的数据片段那么你应该好好去!
import matplotlib.pyplot as plt
x= [81.70900202536467, 81.69066539803865, 81.9634647036723, 81.6886583191991, 81.70063595809025, 81.71279936786232, 81.6846428541525]
plt.hist(x, bins=100) # was bins='100' which is a string
plt.hist(x)
plt.show()
以上是关于箱子绘制直方图的作用是什么?的主要内容,如果未能解决你的问题,请参考以下文章